событие триггера jquery - PullRequest
       5

событие триггера jquery

0 голосов
/ 10 марта 2011

Как мы можем вызвать событие нажатия триггера на живом объекте.

$("#continue").live("keypress",function(){
 if (e.which == 32 || e.which == 13) {
    $(this).trigger("click");
  }
});

, когда я нажимаю кнопку ввода на кнопке, в которую входит блок if, но она не вызывает кнопку.Можете ли вы помочь мне в этом.Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 10 марта 2011

Вы используете аргумент "e", но никогда не передаете его в качестве аргумента.

$("#continue").live("keypress",function(){

должно быть:

$("#continue").live("keypress",function(e){
2 голосов
/ 10 марта 2011

Попробуйте это:

$("#continue").live("keyup",function(e){
 if (e.keyCode == 32 || e.keyCode == 13) {
    $(this).trigger("click");
  }
});

Я немного рассказал об этом в этом посте: EnterKey иногда не работает в IE8, используя jQuery keyPressed

Но в основном существуют «Специальные клавиши», которые не будут срабатывать при нажатии клавиш, и вам придется использовать keydown или keyup.

Пример здесь: http://jsfiddle.net/uS4XK/1/

Хотя я должен быть честным, это странное поведение хотеть. Вы хотите, чтобы событие кликало на #continue, когда они нажимают enter?

0 голосов
/ 10 марта 2011

Вам нужно проверить, действительно ли $ (this) соответствует вашей кнопке.

Попробуйте заменить:

$(this).trigger('click')

на

$('#continue').trigger('click')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...