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

字號+ 編輯: 种花家 修訂: 种花家 來源: 原创 2023-12-06 我要說兩句(1)

平時開發的時候會經常用到, 如果你確實通過我的代碼解決了問題,別忘了點個“有用”再走。

說標準寫法有點吹了, 可能是筆者並沒有接觸過太多的奇葩瀏覽器, 故有這種結論。有更多經驗的小夥伴可以貼自己的代碼出來

筆者經常用到的代碼是:

function somefunc(obj, evt) {
    let e = (evt) ? evt : window.event;
    if (window.event) {
      e.cancelBubble = true;
    } else {
      e.stopPropagation();
    }
    
    // TODO
}

在dom裡傳兩個參數, 一個是this對象一個事件

<div onclick="somefunc(this,event)"></div>

雖然在某些新ide裡會提示event和onclick寫法已過期, 但ie顯然不這麽想。

防止事件冒泡會應用到哪些場景?

比如你有兩個div, 父子dom關係, 你不想讓子dom綁定的事件同時讓父dom事件觸發, 就用到這個判斷。其他場景下沒必要寫那麽嚕囌。

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

    17210

  • 沒用

    891

  • 開心

    2469

  • 憤怒

    218

  • 可憐

    466

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

相關課文
  • JS如何防止父節點的事件運行

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

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

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

我要說說
網上賓友點評
1 樓 IP 222.168.***.91 的嘉賓 说道 : 很久前
你用的什么ide