addEventListener与removeEventListener

本文详细解析了如何正确地使用addEventListener()和removeEventListener()来添加和移除事件处理程序,强调了匿名函数在移除过程中的局限性,并通过实例展示了正确的实践方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过addEventListener()添加的事件处理程序只能使用removeEventListener()来移除;

移除时传入的参数与添加处理程序时使用的参数相同。

这里要注意的是:通过addEventListener()添加的匿名函数无法移除,也就是removeEventListener()在移除addEvenListener添加的事件的时候,不能移除匿名函数,必须是function move() {} 函数

下面这段代码是正确的:

 document.addEventListener('mousemove', move);

            function move(e) {
                // console.log(x, y);
                //用 e.pageX - x 就是盒子应该得到的距离
                table.style.left = e.pageX - x + 'px';
                table.style.top = e.pageY - y + 'px';
                console.log(1);


            }
            document.addEventListener('mouseup', function() {
                // console.log(1);
                document.removeEventListener('mousemove', move);

            })

而下面这段代码时错误的:

document.addEventListener('mouseup', function() {
                // console.log(1);
                document.removeEventListener('mousemove', function(e) {
                    table.style.left = e.pageX - x + 'px';
                    table.style.top = e.pageY - y + 'px';
                });

            })
addEventListenerremoveEventListenerJavaScript中用于添加和移除事件监听器的方法。在Vue.js 2中,可以使用这两个方法来处理DOM事件。 addEventListener用法: addEventListener方法用于向指定的元素添加事件监听器。它接受两个参数:事件类型和事件处理函数。 示例代码: ```javascript // 获取元素 const button = document.querySelector('#myButton'); // 添加点击事件监听器 button.addEventListener('click', handleClick); // 事件处理函数 function handleClick() { console.log('按钮被点击了!'); } ``` 在上面的示例中,我们通过querySelector方法获取了一个id为"myButton"的按钮元素,并使用addEventListener方法为该按钮添加了一个点击事件监听器。当按钮被点击,会触发handleClick函数,并在控制台输出"按钮被点击了!"。 removeEventListener用法: removeEventListener方法用于从指定的元素中移除事件监听器。它接受两个参数:事件类型和事件处理函数。 示例代码: ```javascript // 获取元素 const button = document.querySelector('#myButton'); // 移除点击事件监听器 button.removeEventListener('click', handleClick); // 事件处理函数 function handleClick() { console.log('按钮被点击了!'); } ``` 在上面的示例中,我们使用removeEventListener方法从按钮元素中移除了之前添加的点击事件监听器。这样,当按钮被点击,不再触发handleClick函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值