javascript - 如何为一个元素禁用 JQuery 按键事件?

标签 javascript jquery html event-handling

在我的网站上,我为整个文档注册了一个按键事件处理程序。

$(document).keypress(myhandler);

我处理“空格”键来滚动列表。

问题是,有一个 <input type='text' />元素,我不希望在输入中输入“空格”键时滚动列表。

我在 JQuery 传递给处理程序的“事件”对象中找不到任何信息,无法确定事件源的位置。

最佳答案

或者,您可以将另一个事件处理程序附加到输入字段,并在该处理程序中停止事件的传播:

jQuery('#input-field-id').bind('keypress', function(e) {
    e.stopPropagation(); 
});

这样,您就可以保留全局事件处理程序。可能更干净。

关于javascript - 如何为一个元素禁用 JQuery 按键事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1708450/

相关文章:

javascript - jquery/javascript 等待函数完成

html - 使用C通过cgi生成简单的html页面

javascript - "this"javascript 模块中的关键字

javascript - MUI v5 - 更新后无法通过 event.currentTarget 访问 MenuItem 属性

javascript - 如何检测元素何时滚动到视口(viewport)中

javascript - 输入字段在焦点后立即模糊

jquery自动检查同一个表中的复选框

javascript - 如何在 Javascript 中设置隐式对象响应

php - mysql打印数据显示为html

html - 如何将单元格拆分为列,使它们的宽度与其下方的列相同