2011-02-27 6 views
1

Я использую диалоговое окно JQuery.Как обращаться с нажатием кнопки ENTER в диалоговом окне JQuery

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

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

Когда окно диалога открыта, есть кнопка Войти в него, что проверить имя пользователя и пароль поля в нем, используя событие щелчка. См. Ниже пример кода.

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

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

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

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

Спасибо.

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

ответ

6

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

$('body').keyup(function(e) { 
    if ($('#MyLogin').is(':visible') && e.which == 13) { 
     //stuff 
    } 
}); 
+0

спасибо @Yads, мы не можем использовать «open: function()» диалогового окна, а затем дать фокус на мою кнопку входа, которая является образом, если да, можете ли вы предложить, как я могу это сделать, поскольку я не могу чтобы сосредоточиться на нем. –

+0

@MKS, возможно, это даст вам шанс. Однако, когда пользователь щелкает в любом месте (например, текстовое поле), ваше предлагаемое решение прерывается. – Vadim

1

Регистрирует функцию JS на вашем "OnLoad" событием DIV MyLogin например

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

В checkKeyPress проверки функции, если ключевой код 13 отправить форму, например, псевдокод

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

    return false; 

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