1、问题的由来

使用addEventListener 绑定事件时,如果同时想传参,一般可使用匿名函数绑定事件。但是这样做的问题时,匿名函数将不能解绑事件。
所以如何做到又能传参,又能解绑事件呢?

2、使用bind解决

var btn1 = document.getElementById('btn1');
var btn2 = document.getElementById('btn2');

        function fa(e) {
            console.log('传递参数',e)
        }
        var fb=fa.bind(this,8)
        btn1.addEventListener('click',fb )

        btn2.addEventListener('click', () => {
            btn1.removeEventListener('click',fb)
        })
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐