Skip to content

JS解除事件引用

之前看红宝书,第十三章,解除事件引用,代码是这样子的,有点不太明白。
js
// 解除引用失败
var btn = document.getElementById("myBtn");
btn.addEventListener(
  "click",
  function () {
    alert(this.id);
  },
  false,
);
btn.removeEventListener(
  "click",
  function () {
    alert(this.id);
  },
  false,
);
//解除引用成功
var btn = document.getElementById("myBtn");
var handler = function () {
  alert(this.id);
};
btn.addEventListener("click", handler, false);
btn.removeEventListener("click", handler, false); // 有效!
最近看红宝书,第五章Function引用类型写到
text
    "函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定"