我有这段代码,我需要以编程方式覆盖或从文档中删除keydown(例如使用简单的条件)
document.onkeydown = function (f) {
myMethod();
};
知道该怎么做吗?
答案 0 :(得分:17)
document.onkeydown = null
您可以使用jquery为您执行事件处理,您使用的方法不太常用,也不允许多个订阅者。
请查看此处的文档:
示例:
$(document).on("keydown", function(){
doStuff();
})
// unsubscribe all handlers
$(document).off("keydown");
答案 1 :(得分:7)
您可以使用以下命令将其删除:
document.onkeydown = null;
如果您希望能够恢复它,可以先将其保存到变量中:
var saved_keydown = document.onkeydown;
document.onkeydown = null;
//... later
document.onkeydown = saved_keydown;
答案 2 :(得分:2)
最简单的方法是将其设为null
document.onkeydown = null;
答案 3 :(得分:1)
你不能删除它,你只能附加一个什么都不做的新的,比如:
document.onkeydown = function () {};
使用jQuery,你可以做到:
$(document).on('keydown', myMethod);
并删除
$(document).off('keydown', myMethod);