Как обрабатывать нажатие кнопки ENTER в диалоговом окне JQuery - PullRequest
1 голос
/ 27 февраля 2011

Я использую диалоговое окно JQuery.

У меня есть код ниже, где я открываю свое диалоговое окно.

  $('#MyLogin').dialog({
                autoOpen: true,
                width: 450,
                modal: true,
                draggable: false,
                title: $('.LoginpopupHeaderText').text(),
                close: function(event, ui) {showSelect();}
            });

Когда диалоговое окно открыто, в нем есть кнопка входа в систему, которая проверяет поле имени пользователя и пароля, используя событие click. Пожалуйста, смотрите ниже пример кода.

    //Login Button Clicked
    $('#loginButton').click(function()
    {   
            //Code goes here
        });

Моя кнопка входа - изображение, а не кнопка.

Теперь я хочу поймать нажатие кнопки « Enter » только при открытом диалоговом окне входа в систему, а также после нажатия кнопки «Ввод» должно произойти мое « loginButton » нажатие событие, так что оно будет вести себя так, как будто мы нажали кнопку входа в диалоговом окне открытия.

Пожалуйста, предложите!

Спасибо.

С наилучшими пожеланиями,

Ответы [ 2 ]

6 голосов
/ 27 февраля 2011

Вы можете проверить, видна ли кнопка

$('body').keyup(function(e) {
   if ($('#MyLogin').is(':visible') && e.which == 13) {
      //stuff
   }
});
1 голос
/ 27 февраля 2011

Зарегистрируйте функцию JS в событии " onLoad " для div MyLogin например,

     <div id="MyLogin" onload="javascript:return checkKeyPress();" />

В checkKeyPress проверьте, еслиkeyCode равен 13 для отправки формы, например, псевдокод

    event.preventDefault() ;
    if (keyCode == 13 )
          frm.submit();

    return false;  

Помните, что event.preventDefault и возвращают false строка должна, в противном случае событие KeyPress будет распространяться на главную форму / страницу.Надеюсь, это поможет.

...