【发布时间】:2016-08-05 20:59:59
【问题描述】:
我在元素上有 keydown 事件。
$("#element").keydown(function() {
// do stuff!
});
现在我想删除它。
我尝试了unbind 和off,但都没有工作。
$("#element").unbind("click");
$("#element").off("click");
如果使用unbind 或off,我是否需要使用.on("click", function...) 或.bind("click", function...) 而不是.click。如果是这样,这不是我的代码,我不允许修改它,所以我需要一种替代方法。
除了“取消绑定”或“关闭”之外,还有其他方法可以真正起作用吗?
谢谢,非常感谢您的帮助!
【问题讨论】:
-
我在回来的一个项目中遇到了和你类似的问题。我想我在函数中添加了点击处理程序作为回调。这样,除非我通过不同的函数调用它,否则点击功能不会再次起作用。
-
@DustinRW 我不明白你的意思?
-
我的意思是将你的函数包装在另一个函数中。例如,您可以将函数 above 包装在另一个编写的函数中并创建一组条件。
var outerFunction = function() { if (condition met) { $("#element").keydown(function() { // do stuff! }); };我只是假设您希望您的函数只被调用一次然后停止或仅在满足某些条件时运行。希望我的想法更清晰。 -
关键是keydown的代码不是我的,是外部js。我只是想删除已经绑定的 keydown 事件。不过没关系,谢谢帮助!我已经让它开始工作了。
标签: javascript jquery