📅  最后修改于: 2023-12-03 15:16:41.196000             🧑  作者: Mango
在jQuery中,.off()是一个非常有用的方法,可以用于解除一个或多个事件处理程序。当我们把一个事件处理程序通过.on()方法附加到一个元素上时,我们可以使用.off()方法来_detach_事件处理程序。
.off()方法和.on()方法很相似,只是它作为函数的参数不接受事件类型和事件处理程序。在.off()中,只需要传递事件类型即可。
$(selector).off(event);
.off()函数也有一些选项:
$(selector).off(event, childSelector, callback);
其中,参数功能如下:
event
: 要移除处理程序的事件类型。必须是字符串类型的事件类型,例如 "click"。childSelector
: 可选,用于仅防止某些元素的事件处理程序。callback
: 可选的。要从特定事件中删除的回调函数。.off()方法有四种不同的方式来解除事件处理程序的绑定:
如果要解除一个元素上的所有事件,则可以使用.off()方法,如下所示:
$(selector).off();
这将从指定选择器中删除所有事件处理程序。
如果要删除一个特定事件处理程序,则可以指定事件类型或事件名称。以下示例演示如何防止单击事件。
$(selector).off("click");
此代码行将删除一个特定元素上单击事件的所有处理程序。
该.off()方法还支持传递特定的元素以删除事件处理程序。
$(selector).off(event, childSelector);
在这种情况下,解除事件处理程序是基于选择器中的“子元素”或子类。这是一个常见的用例,其中事件处理程序被附加到动态生成的元素。
如果要删除与特定回调函数相关联的事件,则可以传递回调函数作为.off()方法的参数。
$(selector).off(event, callback);
这将从特定元素的事件列表中删除与回调函数相关联的事件。
.off()方法是jQuery提供的一个非常有用的方法。您可以使用它从元素中删除一个或多个处理程序。而且它有许多不同的用法,可以根据需要来使用它。