【问题标题】:What does the anonymous function passed into the off function mean?传入off函数的匿名函数是什么意思?
【发布时间】:2019-07-08 12:39:53
【问题描述】:
传入off函数的匿名函数是什么意思?
例如,以下是什么意思:
$jqueryEl.off("click", function() { console.log("When will it be called?"); });.
在删除所有点击侦听器后会调用function() { console.log("When will it be called?");,还是会调用它而不是删除的点击侦听器?
我问这个是因为the documentation 没有明确的答案:
先前为事件附加的处理函数,或特殊值 false。
【问题讨论】:
标签:
javascript
jquery
api
events
handler
【解决方案1】:
传入off函数的匿名函数是什么意思?
没什么用。
由于是函数表达式,所以会生成一个new函数。因此,它不能之前已为事件附加。
也不是false。
编写该代码的人出错了。
当有人打算有条件地删除该函数时,通常会发生这种情况:
const myHandler = function() { console.log("When will it be called?"); };
$jqueryEl.on("click", myHandler);
$somethingElse.on("click", function () {
$jqueryEl.off("click", myHandler);
});
...但是当他们创建了两个相同的函数时,而不是为两个不同的调用重复使用相同的函数。