关于前端的闭包和事件解绑问题
資深大佬 : qaqLjj 1
add,remove 这两个闭包访问的 hide 函数为什么不是同一个函数呢,
正因为不是同一个函数,导致事件解绑失败了。
求高手指教
——-借助全局变量 addHide 保存调用 add 时访问的 hide ,代码如下——-
let addHide = null function clickListener() { function hide() { console.log('hide exc') } function add() { addHide = hide document.addEventListener('click', hide, false) } function remove() { console.log(hide === addHide); document.removeEventListener('click', hide, false) } return { add, remove } } clickListener().add() clickListener().remove()
大佬有話說 (5)