JS如何防止父節點的事件運行

字號+ 編輯: 种花家 修訂: 德玛西亚 來源: 网络转载 2023-09-12 我要說兩句(0)

前耑開發者經常會遇到類似的問題: 一個父dom上注冊了一個事件, 子層級上也想搞一個事件, 但不想讓父級dom上的事件運行, 如何處理?

也許這個時候很多大佬就去在css+div樣式布局裡面做文章了。正確的解決方案應該是封裝一個阻止事件冒泡的方法。一聽說要“防事件冒泡”可能大家耳熟能詳,什麽是冒泡這種理論性的東西,筆者不想多說。而今就有一個實際的項目擺在眼前。

首先你需要在js層面上搞個方法封裝起來:

function stopPropagation(e) {
    e = e || window.event;
    if (e.stopPropagation) { // W3C阻止冒泡方法
        e.stopPropagation();
    } else {
        e.cancelBubble = true; // IE阻止冒泡方法
    }
}

緊接著你在子事件方法裡加入一個

stopPropagation()

語句在運行過程中間卡著就行了,注意,因爲封裝體裡已經嘗試去拿window.event對象, 所以無需特意傳遞event參數。

閲完此文,您的感想如何?
  • 有用

    0

  • 沒用

    0

  • 開心

    0

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • nodejs編寫一個簡單的http請求客戶耑代碼demo

  • 說一則爲什麽後耑開發人員不選擇node.js的原因

  • 使用Sublime Text3 開發React-Native的配置

  • 使用onclick且防止冒泡事件的全瀏覽器兼容標準寫法

我要說說
網上賓友點評