[英]Does the onchange event propagate?
我正在使用事件委派來偵聽DOM中較低的事件,但它不適用於選擇框上的onchange事件。 onchange事件是否會傳播或冒泡DOM?
谷歌搜索未能找到確鑿的答案。
根據規格 , change
, submit
, reset
應該冒泡, focus
和blur
不應該冒泡。
除了IE <9之外,所有Web瀏覽器都正確實現了此行為,即在IE> = 9中change
, submit
, reset
確實正確冒泡。
有關舊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.