Запустить метод Jquery при нажатии клавиши ввода

Я пытаюсь запустить метод, когда нажата клавиша ввода. Этот метод уже используется кнопкой. По сути, когда пользователь заполняет текстовое поле и нажимает кнопку отправки, он получает лайтбокс. Я хочу запустить это же действие, но при нажатии клавиши ввода. Я изучал использование .keypress, но я могу найти только примеры, в которых тег формы является стандартным тегом формы html, а не тегом формы asp.net. Я думаю, что на данный момент форма отвечает только на элементы управления .net на странице, и я не могу переопределить это с помощью метода jquery. Есть идеи?


person PhilipP    schedule 15.09.2010    source источник


Ответы (1)


Вы можете привязать keypress событие к документу и trigger() к обработчику кнопки.

$(document).bind('keypress', function(e){
   if(e.which === 13) { // return
      $('#buttonid').trigger('click');
   }
});

Это будет срабатывать всякий раз, когда вы нажимаете клавишу возврата на своем сайте. Вероятно, вы хотите, чтобы это происходило только в том случае, если кто-то использует return в вашей форме ввода. Вам просто нужно изменить selector с document на любой селектор, который соответствует вашему элементу управления.

Ссылка: .trigger()

person jAndy    schedule 15.09.2010
comment
Черт, Энди, мне кажется, что я все время гоняю тебя. Когда ты спишь? знак равно - person mkoistinen; 15.09.2010
comment
@mkoistinen: Я никогда не слышал об этом, расскажите мне больше об этой штуке для сна :p - person jAndy; 15.09.2010