为什么对 javascript 中的元素使用绑定和解除绑定事件?

Why use bind and unbind events to an elements in javascript?

我对 Javascript 中元素的绑定和解除绑定事件有疑问。我理解这一点:当我们创建一个元素时,我们将元素绑定和取消绑定到一个元素,这会做一些事情,所以我们绑定一个事件,当用户删除这个元素并采取行动时,需要删除事件监听器,因为元素已被删除,这是我想的,所以我的问题是我是对的吗?或者我们何时以及为何绑定和解除绑定事件。 谢谢

何时以及为何绑定事件的原因太多了,无法在此一一列举(可能前者比后者更广泛)。

但是,'we' 程序员使用 bind() 等函数,以便我们的代码可以侦听特定元素上发生的事件。

unbind() 当我们不再需要接收元素已收到此类事件的回调时使用。

至于何时我们使用bind()unbind()完全取决于活动的项目和要求。有时,事件将绑定在元素的创建上。有时它们会受到触发器的约束(例如用户单击小部件),有时它们会受到 AJAX 调用(或类似的服务器端回调)的响应的约束。同样,我们可以在另一个事件的回调中使用 unbind(),或者在服务器上发生某些事情时使用。

如您所见,当我们使用 bind()unbind() 时,没有 "definitive" 答案。但是,您在删除元素时使用 unbind() 的说法略有不正确。这不是必需的,当元素被移除时,它的事件绑定将被自动丢弃。

假设我们有这个跨度:

<span id="my-span">Hello.</span>

我希望在发生点击时收到通知:

var span = document.getElementById('my-span');
var alertWhenMySpanIsClicked = function () {
    alert('my span was clicked');
};
span.addEventListener(
    'click', alertWhenMySpanIsClicked
);

我不想再收到通知:

span.removeEventListener(
    'click', alertWhenMySpanIsClicked
);