Предупреждение jQuery (событие) ничего не делает при вызове внутренней функцией - PullRequest
0 голосов
/ 18 ноября 2011

Это действительно странно.Когда вызывается функция очистки и сбрасывается значение, вызывается функция изменения фильтра.Странная часть - нет никакого события, НО никакая проверка, которую я делаю на событии как event != NULL или event != 'undefined' или event != void 0, не работает!Это проходит мимо проверки, как будто событие существует.Если я пытаюсь предупредить событие ... оно работает нормально, когда происходит реальное событие щелчка, но когда оно вызывается методом clear, оно полностью убивает функцию без предупреждения и без ошибок!

$('.clear').live("click", function() {
   page.find('.Filter').val("");
});

$('.Filter').live("keyup change", function(event) {
if(event)
    alert(event);
else
    alert('works');
});

Ответы [ 3 ]

0 голосов
/ 19 ноября 2011

Установленное значение не вызывает событие change, вам нужно вручную запустить его следующим образом:

$('.clear').live("click", function() {
   page.find('.Filter').val("").trigger( "change" );
});

$('.Filter').live("keyup change", function(event) {
if(event)
    alert(event);
});

jsfiddle: http://jsfiddle.net/PrALa/

Если вы удалите trigger предупреждение не будет отображаться, потому что оно не сработало.

0 голосов
/ 19 ноября 2011

События для фильтра не вызываются, когда вы нажимаете кнопку, проблема заключается в том, что вы изменили событие в фильтре, поменяйте огонь, когда вы покидаете фокус поля ввода.Если вы тут же нажимаете кнопку «Очистить», вы получаете предупреждение, будто нажатие кнопки «Очистить» вызвало событие, но действительно ваше событие change вызывается, оставив фокус ввода, удалитеизменить событие.

Измените события фильтра на

$('.Filter').live("keyup", function(event) {

0 голосов
/ 18 ноября 2011

В вашей «чистой» функции добавьте .trigger('change'):

 page.find('.Filter').val("").trigger('change');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...