从分配给正文的按键处理程序中排除表单字段

2023-12-04

我有一个keypress网页上分配给 body 元素的处理程序。我真的希望它在网页的任何地方都处于活动状态。或者说我是这么想的。这keypress文本输入表单中的事件也会激活正文处理程序,这是有道理的,但我不想要。

理想情况下,我想保留keypress分配给 body 元素的处理程序并以某种方式仅排除输入表单。有什么方法可以在输入级别停止该事件并防止其传播到主体吗? (或者这就是查看 HTML DOM 事件的正确方法吗?)


只需检查按键处理程序中哪个元素触发了事件并过滤掉输入元素会更容易:

document.onkeypress = function(evt) {
    evt = evt || window.event;
    var target = evt.target || evt.srcElement;
    if ( !/INPUT|TEXTAREA|SELECT|BUTTON/.test(target.nodeName) ) {
        // Do stuff
    }
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从分配给正文的按键处理程序中排除表单字段 的相关文章

随机推荐