Search

Javascript - 停止事件預設行為及事件傳遞

2014-11-16 3:54 PM
程式碼範例
  1. // 停止事件傳遞
  2. event.stopPropagation();
  3.  
  4. // 停止事件預設行為
  5. event.preventDefault();
詳細解說
  1. // Javascript
  2. /**
  3. * 停止事件傳遞
  4. * 加入此行程式碼後事件將不會繼續傳遞至父層物件
  5. */
  6. event.stopPropagation();
  7.  
  8. // 以L3點擊事件為例
  9. // 若HTML結構為L1 > L2 > L3的巢狀結構
  10. // 將僅觸發L3的點擊事件
  11. // 詳見本文下方JSFiddle範例
  12. $("#L1").on("click", function(event){
  13. alert("L1");
  14. });
  15.  
  16. $("#L2").on("click", function(event){
  17. alert("L2");
  18. });
  19.  
  20. $("#L3").on("click", function(event){
  21. event.stopPropagation();
  22. alert("L3");
  23. });
  24.  
  25. // 取消右鍵選單
  26. // 詳見本文下方JSFiddle範例
  27. $("#L2").on("contextmenu", function(event){
  28. event.stopPropagation();
  29. event.preventDefault();
  30. });
各項資料連結
JSFiddle : event.stopPropagation(); 範例
JSFiddle : event.preventDefault(); 範例

No comments:

Post a Comment