为什么使用removeEventListener vs只是删除它?



我正在学习JavaScript和与DOM交互的方法。

我得到了事件侦听器,看到有一个removeEventListener()方法。

我明白如何使用它,但好奇的是,为什么我们不只是删除行代码与事件监听器,我们不想要的?是否有理由说明为什么使用remove方法比仅仅删除我们自己更好?

任何关于这一点的澄清将是有帮助的:)

感谢

您可能希望向元素添加一个侦听器,然后再删除该侦听器。您不希望完全删除侦听器代码,因为那样侦听器将不会在您希望的时间间隔内触发。

const button = document.querySelector('button');
button.addEventListener('click', () => {
const listener = () => console.log('hovered');
button.addEventListener('mouseover', listener);
setTimeout(() => {
console.log('listener removed');
button.removeEventListener('mouseover', listener);
}, 2000);
});
<button>click to enable hover listener</button>

要实现上述逻辑,addEventListener需要-你不能就这么删掉那部分。但是您还想稍后删除侦听器,因此也需要removeEventListener

最新更新