如何使用 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>

更新时间: 14-Feb-2020

996 浏览量

开启你的 事业

完成课程即可获得认证

开始
广告