2015-08-08 54 views
0

在javascript中,是否有一种方法来检测或覆盖('null')所有onkeyup和onkeydown处理程序应用于DOM元素,而不是迭代整个dom? (我这种情况下,我正在寻找重写onkey处理程序,扩展可能已经插入到DOM,例如通过浏览器扩展,而不是检测站点直接添加的处理程序)。Javascript - 检测或覆盖所有onkeyup和onkeydown处理程序

+0

的'useCapture'标志'的addEventListener'是相关的。如果你真的想知道如何使它工作,为什么,[在MDN上阅读](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener)。 – Rudie

+0

谢谢,但我期待发现所有现有的听众,而不是添加一个 – Matt

+0

阅读它。它会告诉你有关执行顺序等。请阅读两次。 – Rudie

回答

0

如果你能够使用jQuery,我觉得这个代码可以帮助您

$(document).off('keypress').on('keypress', 'SELECTOR', function(e){ 
    // your code 
}); 
+0

试过 - 它不会覆盖附加到dom元素的事件,例如; 编辑澄清 - 我不知道在哪里,或者如果,一个事件已经挂钩 – Matt