无法在特定元素上触发键关闭事件
Can't get keydown event to fire on specific elements
我试图在我的 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
});
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 将事件聚焦/模糊在可编辑内容的元素上
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 在IE8中不起作用的元素上触发单击事件
- 正在ng重复元素上添加事件
- 单击p元素时的javascript触发事件
- 存在每个时间元素的javascript事件
- Firefox:点击并更改未附加到文档树中的复选框元素上的事件
- 有没有一种方法可以让内联事件处理程序在元素创建后立即执行
- 将jQuery事件应用于所有类元素
- 在IE8上使用jQuery克隆HTML5元素和事件
- 单击其他元素时,我如何使用 jQuery 忽略更改事件
- 访问代码生成的输入元素上的keyup事件
- 如何查明鼠标按下事件是否发生在滚动条上或元素中的其他任何位置
- 当元素到达屏幕上的某个位置时触发事件
- Mootools:如何在点击时保持元素高亮显示并停止所有事件
- 将事件侦听器添加到文档,而不是签入元素存在,然后添加事件侦听器
- JQuery:使用clone()生成的元素不采用原始的事件属性
- 从其他元素上的单击事件访问image src属性
- 触发“三个”的点击事件.元素