解決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 () {

  ...

});


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM