【问题标题】:How can I remove the event handler once the click event has fired?单击事件触发后,如何删除事件处理程序?
【发布时间】:2010-10-18 22:54:17
【问题描述】:

我有一个click 事件,我在我的页面上连接到div

一旦click 事件被触发,我想解除div 上的事件绑定。

我该怎么做?我可以在click 事件处理程序本身中解绑它吗?

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    在纯 JavaScript 中:

    var myDiv = document.getElementById("myDiv");
    
    myDiv.addEventListener('click', clicked, false);
    
    function clicked()
    {
        // Process event here...
    
        myDiv.removeEventListener('click', clicked, false);
    }
    

    史蒂夫

    【讨论】:

      【解决方案2】:

      这里记录了 unbind 函数:

      http://docs.jquery.com/Events/unbind

      适合你的例子:)

      【讨论】:

        【解决方案3】:

        使用“one”函数:

        $("#only_once").one("click", function() {
        alert('this only happens once');
        });
        

        【讨论】:

        • 哇。这实际上是我从 jQuery 中看到的最酷的东西之一。
        【解决方案4】:

        取自找到的 jQuery 文档 here:

         $("#unbind").click(function () {
              $("#theone").unbind('click', aClick)
                          .text("Does nothing...");
            });
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-13
          • 2021-08-31
          • 1970-01-01
          • 2010-11-21
          • 2013-11-23
          相关资源
          最近更新 更多