zoukankan      html  css  js  c++  java
  • 解决jquery click事件执行两次

    js 解决办法

    • event.preventDefault() :阻止默认行为,可以用 event.isDefaultPrevented() 来确定preventDefault是否被调用过了
    • event.stopPropagation() :阻止事件冒泡,事件是可以冒泡的,为防止事件冒泡到DOM树上,不触发任何前辈元素上的事件处理函数,可以用 event.isPropagationStopped() 来确定stopPropagation是否被调用过了
    $("#myDiv").click(function(e){
     e.stopPropagation();  //表示阻止向父元素冒泡
     e.preventDefault();   //阻止 方法阻止元素发生默认的行为(例如,当点击提交按钮时阻止对表单的提交或者a标签)。
    }); 
    

    jquery 解决办法

    unbind() 方法移除被选元素的事件处理程序。

    该方法能够移除所有的或被选的事件处理程序,或者当事件发生时终止指定函数的运行。

    该方法也可以通过 event 对象取消绑定的事件处理程序。该方法也用于对自身内部的事件取消绑定(比如当事件已被触发一定次数之后,删除事件处理程序)。

    注意:如果未规定参数,则 unbind() 方法会删除指定元素的所有事件处理程序。

    注意:unbind() 方法适用于任意由 jQuery 添加的事件处理程序。

    object.unbind("click").click(function () {
    
      ...
    
    });
  • 相关阅读:
    设计模式——装饰模式(Decorator Pattern)
    设计模式——策略模式(Strategy Pattern)
    设计模式——简单工厂模式(SimpleFactory Pattern)
    入博客园三周年记
    android+Service
    surfaceView+canvas+paint+bitmap
    Enable Sublime text 2 to support GBK in Mac
    androidstudio+opencv
    mac下的环境变量PATH
    Curl命令
  • 原文地址:https://www.cnblogs.com/niuben/p/12160539.html
Copyright © 2011-2022 走看看