美文网首页
removeEventListener 取消事件监听

removeEventListener 取消事件监听

作者: Cherry丶小丸子 | 来源:发表于2023-02-19 16:54 被阅读0次

通过 addEventListener() 添加的事件处理程序只能使用 removeEventListener() 来移除
移除时传入的参数与添加处理程序时使用的参数相同。这也意味着通过 addEventListener() 添加的匿名函数无法移除

下面这种写法是错误的
onMounted(() => {
    window.addEventListener('resize', () => {
        console.log('监听')
    });
});
onUnmounted(() => {
    window.removeEventListener('resize', () => {
        console.log('移除监听')
    });
});
需要使用以下方法
const calcFillDiv = () => {
    const fnc = data => {
        // do something
    };
    fnc(data);
};

onMounted(() => {
    window.addEventListener('resize', calcFillDiv);
});
onUnmounted(() => {
    // 移除监听事件,一定要和监听事件指向的是同一个方法(共享内存)
    window.removeEventListener('resize', calcFillDiv);
});

相关文章

网友评论

      本文标题:removeEventListener 取消事件监听

      本文链接:https://www.haomeiwen.com/subject/sinikdtx.html