【发布时间】:2014-08-01 16:50:36
【问题描述】:
正如标题所解释的,当空格键上的 keydown- 或 keypress-handler 打开一个对话框时,该对话框包含一个可自动对焦的按钮,该按钮会关闭对话框(默认的 ok 按钮),然后在 keyup 时触发该按钮。
var dialog = $('#d').dialog({
autoOpen: false,
buttons: [{text:"ok", click: function () {
$(this).dialog("close");
}}]
});
$(window).keydown(function (event) {
if (event.which==32 || event.which==13) {
console.log("TEST");
dialog.dialog("open");
} else console.log(event.which);
});
事实上,我的问题和这个问题一样: jquery-ui-dialog-closes-immediately-when-opened-with-onkeypress-enter-space 但是,我想在 keydown (或 keypress)上打开对话框,而不是在 keyup 上打开对话框,正如接受的解决方案中所建议的那样。此外,我不想将自动对焦更改为另一个元素,即第二个空格键实际上应该关闭对话框。
【问题讨论】:
-
小提琴对我有用。 jsfiddle.net/y3Hqu/6
-
谢谢,但请注意我的问题中的最后一句话 :)
标签: jquery jquery-ui dialog jquery-ui-dialog