我试图在我的 Web 应用程序的某个上下文中按下 Delete 键时触发 keydown
事件。例如,我实现了一个联机文件系统,当使用该视图时,我希望keydown
事件处于活动状态。
但是,当执行某些操作时,我也会在页面上出现某些弹出窗口。当这些弹出窗口可见时,我希望禁用keydown
事件,因为该事件会干扰其功能。我目前拥有的工作事件代码不这样做:
$(document).keydown(function(event){
if(event.which === 46 && ($('.selected').size() > 0)){
saveDelete();
}
});
有没有办法让这个keydown
事件在特定条件下停止触发?
我认为你想要.length(没有括号)而不是.size()?
-
将代码更改为使用
.length
而不是大小。 -
当您的弹出窗口可见时,您可以通过调用
.off
来取消绑定事件处理程序,当您的弹出窗口不可见或用户关闭它时,您可以通过调用.on
再次重新附加 keyevent,如果您将 jQuery 1.7 用于早期版本,这将起作用,您必须使用.bind
和.unbind
我不是 100% 确定,但试试这个-
window.onkeydown(function(){
//code goes here
});