アンバンドリングイベントのネイティブのJs

removeEventListener

HTML

    <button id='btn'>click</button>

JS

第一の方法(間違った方法)

    var btn = document.getElementById("btn");
    //绑定事件
    btn.addEventListener('click', function () {
        console.log('click btn')
    })
    //解除绑定,调试发现不可用
    btn.removeEventListener('click', function () {
        console.log('remove')
    })

第二の方法(正しい方法)

    var btn = document.getElementById("btn");
    function btnHandler() {
        console.log('click btn')
    }
    //绑定事件
    btn.addEventListener('click', btnHandler)
    //解除绑定(可以成功,第一种不成功是因为回调是两个不同的函数,指向了不同的内存,第二种把回调定义到外面,两次的回调是同一个函数)
    btn.removeEventListener('click', btnHandler)

おすすめ

転載: www.cnblogs.com/samsara-yx/p/12197551.html