为什么对 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
);
我对 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
);