我使用jQuery UI的语气和我的应用程序使用一对夫妇必然模态的对话框热键预防的keyPressed。jQuery UI的模式,对话框:在对话框打开
这是我的工作jsfiddle example和代码:
$(document).keypress(function(e){console.log("pressed a key: " + e.which);})
var dialog = $('#modal-dialog')
.dialog({ modal: true, autoOpen: false, buttons: [{text:"ok"}] });
.keypress(function(e){console.log("cought!"); e.stopPropagation()})
$("#bt").click(function(){dialog.dialog("open")})
当一个模式对话框打开时,它应该抑制从DOM树向上行进到文档/窗口中的keyPressed事件。 当输入元素具有焦点在stopPropagation踢(不与按钮工作)。 否则然而事件传播。
解决此问题的最佳方法是什么?
我注意到的事情是的keydown,KEYUP和按键事件通常是由模态对话框受阻,但如果返回或逃生造成对话框关闭,则在DOM中触发KEYUP事件,因为该对话框在KEYDOWN事件中关闭。 – kbro