對于jQuery的js架構,大家都不陌生,但是有的是時候需要 使用click函數進行事件的應用
但是,有的時候點選一個div後出現了兩次事件 解決辦法。
1.事件點選div觸發兩次事件辦法
$("#myDiv").click(function(e){
e.stopPropagation(); //表示阻止向父元素冒泡
e.preventDefault(); //阻止 方法阻止元素發生預設的行為(例如,當點選送出按鈕時阻止對表單的送出或者a标簽)。
});
2.ajax時成功的觸發click事件 如果多次ajax就會有多個事件存放,然後你點選時,會觸發你點選的ajax的數目的click事件。
解決的辦法是:$(“.at-share-btn”).unbind(); 提前取消事件
$.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(); });
}
});
以上兩種可以解決辦法。