JQuery: запуск события при нажатии клавиши - PullRequest
0 голосов
/ 23 ноября 2010

У меня проблемы с вызовом события нажатия при нажатии клавиши ввода.Когда я использую приведенные ниже коды, событие live ('click') запускается 3 раза (что означает, что сообщение с предупреждением отображается 3 раза), когда я нажимаю клавишу ввода.Заранее спасибо!!- KS из Кореи

$('.searchWord').live('keypress', function(e) {
    if(e.keyCode == 13) {  
 $('.bBtnSearchBoard').trigger('click');
    }
});

$('.bBtnSearchBoard').live('click', function() {
 alert('a');

});

Ответы [ 4 ]

1 голос
/ 23 ноября 2010

Похоже, у вас либо несколько .searchWord элементов, вложенных друг в друга, либо у вас есть несколько .bBtnSearchBoard элементов.

0 голосов
/ 23 ноября 2010
$('.searchWord').live('keypress', function(e) {
    if(e.keyCode == 13) {  
 $('.bBtnSearchBoard').click();
    }
});

$('.bBtnSearchBoard').live('click', function() {
  //do your stuff here
 $(this).die("click"); //The first time this method executes unbinds the click handler from matched elements
 return false; //to prevent bubbling up of this event higher up the DOM
});
0 голосов
/ 23 ноября 2010

Отлично смотрится на этом тесте .Возможно, ваша проблема в том, что .bBtnSearchBoard возвращает более одного элемента.

0 голосов
/ 23 ноября 2010

попробуй keydown

$('.searchWord').live('keydown', function(e) {
    if(e.keyCode == 13) {  
 $('.bBtnSearchBoard').trigger('click');
    }
});
...