JQuery несколько событий для запуска одной и той же функции - PullRequest
900 голосов
/ 28 марта 2010

Есть ли способ, чтобы события keyup, keypress, blur и change вызывали одну и ту же функцию в одной строке, или мне нужно делать их отдельно?

Проблема, с которой я столкнулся, заключается в том, что мне нужно проверить некоторые данные с помощью поиска в БД, и я хотел бы убедиться, что проверка не пропущена ни в одном случае, независимо от того, напечатана она или вставлена ​​в поле.

Ответы [ 11 ]

1 голос
/ 21 мая 2019

Это легко реализовать с помощью встроенных методов DOM без большой библиотеки, такой как jQuery, если вам нужно, это займет немного больше кода - переберите массив имен событий и добавьте слушатель для каждого:

function validate() {
  // ...
}

const element = document.querySelector('#element');
['keyup', 'keypress', 'blur', 'change'].forEach((eventName) => {
  element.addEventListener(eventName, validate);
});
...