对话框按键和DOM(Dialog keypress and DOM)

2019-08-17 13:49发布

我试图使用jQuery的按键来触发一个模式对话框按钮点击使用jQuery对话框功能创建的。 问题是,用下面的代码,它的工作原理围绕第一时间(按enter按下保存按钮),但我得到的反常行为,当我关闭模式对话框并重新打开它。 我在想的一些变种$(this).("button:contains('Save')")将工作,但不起作用。

$('#dialog').keypress(function(e) {
        if (e.which == 13) {
      $("button:contains('Save')").click();
        }
});

仅供参考对话框使用$(“#对话”)打开的对话框(“开放”),而不是一个AutoOpen:真。 什么是任务的最佳做法?

谢谢!

Answer 1:

我会做:

$('#dialog').keyup(function(e) {
    if (e.which == 13) {
         var buttons = $(this).dialog('option', 'buttons');
         buttons['Save']();
         e.stopPropagation();
    }
})


Answer 2:

按键是字母。 KEYDOWN是一切。 我会尝试使用KEYDOWN。

您的代码很可能不会执行。 回车后会触发默认动作所以这就是为什么它的工作原理是第一次。

这里更多的信息:

http://www.bloggingdeveloper.com/post/KeyPress-KeyDown-KeyUp-The-Difference-Between-Javascript-Key-Events.aspx



文章来源: Dialog keypress and DOM