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

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐