Запустите метод Jquery при нажатии клавиши ввода - PullRequest
4 голосов
/ 15 сентября 2010

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

Ответы [ 3 ]

5 голосов
/ 15 сентября 2010

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

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

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

Ссылка: .trigger ()

1 голос
/ 23 мая 2011
$(".input_loginform").keypress(function(e){
    if (e.which == 13){
        e.preventDefault();
        alert("User pressed 'Enter' in a text input. sender form #"+this.form.id);
        postlogin("#"+this.form.id);
    }
});
1 голос
/ 15 сентября 2010
$(document).keydown(function(e) {
   // test for the enter key
   if (e.keyCode == 13) {
      // Do your function
      myFunction();
   }
});
...