0

我试图在我的 Web 应用程序的特定上下文中按下 Delete 键时触发“keydown”事件。例如,我实现了一个在线文件系统,当使用该视图时,我希望 keydown 事件处于活动状态。

但是,当执行某些操作时,我也会在页面上弹出某些弹出窗口。当这些弹出窗口可见时,我希望禁用 keydown 事件,因为该事件会干扰它们的功能。我目前拥有的工作事件代码不这样做:

$(document).keydown(function(event){
   if(event.which === 46 && ($('.selected').size() > 0)){
       saveDelete();
   }
});

有没有办法让这个 keydown 事件在某些条件下停止触发?

4

3 回答 3

2

我想你想要 .length (没有括号)而不是 .size() ?

于 2012-06-08T16:49:22.007 回答
0
  1. 更改您的代码以使用.length而不是大小。

  2. 当您的弹出窗口可见时,您可以通过调用取消绑定事件处理程序.off,当您的弹出窗口不可见或用户关闭它时,您可以再次通过调用重新附加 keyevent .on,如果您使用 jQuery 1.7 早期版本,这将起作用,您将不得不使用.bind.unbind

于 2012-06-08T16:51:06.047 回答
0

I am not 100% sure but try this-

window.onkeydown(function(){
//code goes here
});
于 2012-06-08T17:03:05.370 回答