如何使用 jQuery 移除事件处理器?
一旦建立了事件处理器,它在页面生命周期中就会一直有效。有时你可能需要移除事件处理器。
jQuery 提供 unbind() 命令来移除现有的事件处理器。unbind() 的语法如下。
以下是对参数的描述 −
- eventType − 一个包含 JavaScript 事件类型(如 click 或 submit)的字符串。有关事件类型的完整列表,请参阅下一部分。
- handler − 如果提供了,则标识要移除的特定侦听器。
示例
你可以尝试运行以下代码,了解如何使用 jQuery 移除事件处理器 −
<html> <head> <title>jQuery Unbind</title> <script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script> $(document).ready(function() { function aClick() { $("div").show().fadeOut("slow"); } $("#bind").click(function () { $("#theone").click(aClick).text("Can Click!"); }); $("#unbind").click(function () { $("#theone").unbind('click', aClick).text("Does nothing..."); }); }); </script> <style> button { margin:5px; } button#theone { color:red; background:yellow; } </style> </head> <body> <button id = "theone">Does nothing...</button> <button id = "bind">Bind Click</button> <button id = "unbind">Unbind Click</button> <div style = "display:none;">Click!</div> </body> </html>
广告