对于jQuery的js框架,大家都不陌生,但是有的是时候需要 使用click函数进行事件的应用
但是,有的时候点击一个div后出现了两次事件 解决办法。
1.事件点击div触发两次事件办法
1 2 3 4 | $("#myDiv").click(function(e){ e.stopPropagation(); //表示阻止向父元素冒泡 e.preventDefault(); //阻止 方法阻止元素发生默认的行为(例如,当点击提交按钮时阻止对表单的提交或者a标签)。 }); |
2.ajax时成功的触发click事件 如果多次ajax就会有多个事件存放,然后你点击时,会触发你点击的ajax的数目的click事件。
解决的办法是:$(“.at-share-btn”).unbind(); 提前取消事件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $.ajax({ type: "POST", url:"/index.php", data:{"email":email}, dataType:'json', cache:false, error: function(request) { alert("Please refresh the page and try again."); }, success: function(data) { if(data.over){ $(".at-share-btn").unbind(); $(".at-share-btn").click(function(){ share(); }); } }); |
以上两种可以解决办法。