Отправить диалоговое окно jQuery UI на <Enter> - PullRequest
129 голосов
/ 15 мая 2009

У меня есть диалоговое окно jQuery UI с формой. Я хотел бы смоделировать нажатие на одну из кнопок диалогового окна, чтобы вам не приходилось использовать мышь или вкладку к ней. Другими словами, я хочу, чтобы он действовал как обычное диалоговое окно с графическим интерфейсом, где имитирует нажатие кнопки «ОК».

Я предполагаю, что это может быть простой вариант с диалоговым окном, но я не могу найти его в документации jQuery UI . Я мог связать каждый ввод формы с помощью keyup (), но не знал, существует ли более простой / понятный способ. Спасибо.

Ответы [ 23 ]

0 голосов
/ 23 июня 2011
$('#DialogID').dialog("option", "buttons")["TheButton"].apply()

Это прекрасно сработало для меня ..

0 голосов
/ 01 марта 2018

Дайте вашим кнопкам классов и выберите их обычным способом:

$('#DialogTag').dialog({
  closeOnEscape: true,
  buttons: [
    {
      text: 'Cancel',
      class: 'myCancelButton',
      click: function() {
        // Close dialog fct
      }
    },
    {
      text: 'Ok',
      class: 'myOKButton',
      click: function() {
        // OK fct
      }
    }
  ],
  open: function() {

    $(document).keyup(function(event) {

      if (event.keyCode === 13) {
        $('.myOKButton').click();
      }

    });

  }
});
0 голосов
/ 15 мая 2009

, если вы знаете селектор элемента кнопки:

$('#dialogBox').dialog('open');
$('#okButton').focus();

Должно помочь тебе. Это сфокусирует кнопку «ОК», и «Enter» будет «щелкать» по ней, как и следовало ожидать Это тот же метод, который используется в диалоговых окнах собственного интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...