Dialog keypress和DOM

我正在尝试使用jQuery的按键触发按钮单击使用jQuery对话框函数创建的模式对话框。 问题是,使用下面的代码,它第一次工作(按Enter键按下Save按钮)但是当我关闭modal dialog并重新打开它时,我得到了不稳定的行为。 我正在考虑$(this).("button:contains('Save')")一些变体$(this).("button:contains('Save')")可行,但这不起作用。

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

仅供参考,使用$(“#dialog”)。对话框(’open’)打开对话框,而不是autoOpen:true。 这项任务的最佳实践是什么?

谢谢!

我会做:

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

按键是用于字母的。 keydown适合一切。 我会尝试使用keydown。

您的代码很可能无法执行。 Enter将触发默认操作,这就是它第一次工作的原因。

更多信息:

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