一千萬個為什麽

搜索

事件捕獲與事件冒泡


我只是希望得到一個共識,即JS在冒泡和捕獲之間更好的事件委派模式。

現在我明白,根據特定的用例,人們可能希望使用捕獲階段而不是冒泡,反之亦然,但我想了解哪種委派模式適用於大多數一般情況以及為什麽(對我而言似乎冒泡模式)。

換句話說,W3C addEventListener實現背後的原因是支持冒泡模式。 [僅在指定第3個參數及其true時才啟動捕獲。但是,你可以忘記第三個參數和冒泡模式被踢了]

我查看了JQuery的綁定函數以獲得我的問題的答案,它似乎甚至不支持捕獲階段的事件(在我看來因為IE不支持捕獲模式)。

所以看起來冒泡模式是默認選擇,但為什麽呢?

最佳答案

在過去,這是一個平臺問題,Internet Explorer有一個冒泡的模型,Netscape更多的是關於捕獲(但兩者都支持)。

W3C型號要求您能夠選擇所需的型號。

我認為冒泡更受歡迎,因為正如所述,有些平臺只支持冒泡...... 它有點像“默認”模式。

您選擇哪一個主要是您正在做的事情和對您有意義的產品。

轉載註明原文: 事件捕獲與事件冒泡

猜你喜歡