Два триггера для одной функции?[keyup и focusout] - PullRequest
6 голосов
/ 11 ноября 2010

Добро пожаловать,

У меня есть функция

 $('#myfield').keyup(function () {
//do something
}

// - что-то выполняется, когда пользователь пишет что-то в myfield.Я замечаю, что когда пользователь использует «автозаполнение» из браузера, моя функция не выполняется.

Я нашел идею использовать focusout

У вас есть идеи, какМогу ли я объединить этот код вместе без написания второй функции, как эта?

 $('#myfield').focusout(function () {
//do something
}

Я хотел бы соединить эти две функции вместе и не писать // делать что-то два раза.

* привет * 1017

Ответы [ 2 ]

17 голосов
/ 11 ноября 2010

Вы можете использовать .bind(), который принимает список событий, разделенных пробелами, для привязки вашего обработчика, например:

$('#myfield').bind("keyup focusout", function () {
  //do something
});

Хотя, если вам не нужно какое-то специальное распространение,Я бы придерживался blur над focusout, просто предпочтение действительно:

$('#myfield').bind("keyup blur", function () {
  //do something
});
1 голос
/ 11 ноября 2010

привязать несколько событий к полю ввода

$('#myfield').bind("focusout",function(){

})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...