美文网首页
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