簡體   English   中英

onchange事件是否傳播?

[英]Does the onchange event propagate?

我正在使用事件委派來偵聽DOM中較低的事件,但它不適用於選擇框上的onchange事件。 onchange事件是否會傳播或冒泡DOM?

谷歌搜索未能找到確鑿的答案。

根據規格changesubmitreset應該冒泡, focusblur不應該冒泡。

除了IE <9之外,所有Web瀏覽器都正確實現了此行為,即在IE> = 9中changesubmitreset確實正確冒泡。

有關舊IE版本的jQuery解決方法,請參閱https://stackoverflow.com/a/4722246/227299

在jQuery 1.4+中,更改事件在所有瀏覽器中都會出現,包括IE。

$('div.field_container').change(function() {
   // code here runs in all browers, including IE.
});

我有一段時間沒有處理過這個問題,但是上次我做了,我記得Firefox在<SELECT>元素上識別了事件,而IE6只識別了<OPTION>標簽上的事件。 就目前我所記得的。

那時IE7還沒出來。

因此,如果是這種情況,則更有意義的是不要內聯編寫事件處理程序並將其應用於DOM就緒,以免您將擁有大量污染重復的代碼。

不確定我是否得到了這個問題,但如果你的意思是這個,那就不。

<div id="foo">
  <select onchange="alert('hi');">
    <option>Hello</option>
    <option>World</option>
  </select>
</foo>

div id =“foo”會有一個onchange事件......從選擇列表中冒出來?


在一個相關的說明,只是一個FYI你不能將事件附加到IE中的選擇列表中的選項(好吧,你可以,但它不會觸發)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM