传递给off函数的匿名函数是什么意思?

时间:2019-07-08 12:39:53

标签: javascript jquery api events handler

传递给 off 函数的匿名函数是什么意思?

例如,以下是什么意思:

$jqueryEl.off("click", function() { console.log("When will it be called?"); });

一旦所有点击侦听器都被删除,将调用function() { console.log("When will it be called?");还是被调用而不是被删除的点击侦听器?

我之所以这样问,是因为the documentation中没有明确的答案:

  

先前为事件附加的处理函数,或特殊值false。

1 个答案:

答案 0 :(得分:2)

  

传递给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);
});

…,但是当他们创建了两个相同的函数时,不必为两个不同的调用重用相同的函数。