不兼容的事件冒泡

.on() 的中文 API:http://www.css88.com/jqapi-1.9/on/

jquery 1.9 升级指南:http://www.css88.com/archives/5086

转自:http://www.cnblogs.com/rubylouvre/archive/2009/12/27/1628347.html


关于事件冒泡各个浏览器的支持(这里指的是原生js,jquery 的.on() 可以支持chang等事件的。):

检测submit事件的冒泡情况:

IE6 IE8 FF3.6 opera10 chrome4 safari4
冒泡到FORM 冒泡到FORM 冒泡到HTML 冒泡到HTML 冒泡到HTML 冒泡到HTML


检测reset事件的冒泡情况:

IE6 IE8 FF3.6 opera10 chrome4 safari4
冒泡到FORM 冒泡到FORM 冒泡到HTML 冒泡到HTML 冒泡到FORM 冒泡到FORM


检测change事件的冒泡情况:

IE6 IE8 FF3.6 opera10 chrome4 safari4
不冒泡 不冒泡 冒泡到HTML 冒泡到HTML 不冒泡 不冒泡


检测select事件的冒泡情况(onselect 事件会在文本域(区)中的文本被选中时发生):

IE6 IE8 FF3.6 opera10 chrome4 safari4
不会冒泡 不会冒泡 冒泡到HTML 冒泡到HTML 不会冒泡 不会冒泡


对于focus,blur,change,submit,reset,select等不会冒泡的事件,在标准游览器中,我们可以设置addEventListener的最后一个参数为true轻松搞定。IE就有点麻烦了,要用focusin代替focus,focusout代替blur,selectstart代替select。change,submit与reset就复杂了,必须利用其他事件来模拟,还要判断事件源的类型,selectedIndex,keyCode等等,jQuery有插件用很复杂的方式来实现……

onselect事件发生在mouseup事件之后,而onselectstart 事件发生在mousedown并mousemove事件之后。



勤于总结 乐于分享
原文地址:https://www.cnblogs.com/hdchangchang/p/3965419.html