如何删除eventhandler document.onkeydown?

我有这个代码,我需要以编程方式覆盖或从文档中删除onkeydown(例如使用简单的条件)

document.onkeydown = function (f) { myMethod(); }; 

知道怎么做吗?

 document.onkeydown = null 

您可以使用jquery为您执行事件处理,您使用的方法不太常用,并且不允许多个订阅者。

看看这里的文档:

http://api.jquery.com/on/

例:

 $(document).on("keydown", function(){ doStuff(); }) // unsubscribe all handlers $(document).off("keydown"); 

你可以删除它:

 document.onkeydown = null; 

如果您希望能够恢复它,可以先将其保存到变量中:

 var saved_keydown = document.onkeydown; document.onkeydown = null; //... later document.onkeydown = saved_keydown; 

你不能删除它,你只能附加一个什么都不做的新的,比如:

 document.onkeydown = function () {}; 

使用jQuery,您可以:

 $(document).on('keydown', myMethod); 

并删除

 $(document).off('keydown', myMethod); 

最简单的方法是将其设置为null

 document.onkeydown = null;