我正在尝试使用jQuery的按键触发按钮单击使用jQuery对话框功能创建的模式对话框。问题是,使用下面的代码,它第一次工作(按Enter键按下Save按钮)但是当我关闭模态对话框并重新打开它时,我得到了不稳定的行为。我认为$(this).("button:contains('Save')")
的某些变体可行,但这不起作用。
$('#dialog').keypress(function(e) {
if (e.which == 13) {
$("button:contains('Save')").click();
}
});
仅供参考,使用$(“#dialog”)。对话框('open')打开对话框,而不是autoOpen:true。 这项任务的最佳实践是什么?
谢谢!
答案 0 :(得分:2)
我愿意:
$('#dialog').keyup(function(e) {
if (e.which == 13) {
var buttons = $(this).dialog('option', 'buttons');
buttons['Save']();
e.stopPropagation();
}
})
答案 1 :(得分:2)
keypress用于写信。 keydown适合一切。我会尝试使用keydown。
您的代码很可能无法执行。 Enter将触发默认操作,这就是它第一次工作的原因。
更多信息: