JavaScript 兼容性笔记:onchange、button类型与IE下的href处理

作者:像素猫

时间:2026-10-25

浏览:610

本文整理JavaScript开发中的常见兼容性问题。首先对比IE的onpropertychange与FF的oninput事件触发机制;其次指出button标签在IE与Firefox中默认type属性的差异及其对表单提交的影响;最后探讨jQuery在IE环境下获取href属性时的兼容处理,特别是getAttribute第二个参数的用法及IE8后的变化。

文章目录
1.onchange 及其onpropertychange,oninput

IE与Firefox的事件监听机制差异

在IE浏览器中,可以利用onpropertychange事件实现属性的即时监听与触发。


在Firefox等支持W3C标准的浏览器中,推荐使用oninput事件,并需通过addEventListener方法进行事件绑定。


https://www.jb51.net/article/25275.htm



2. <button></button>也有type属性:

button标签的默认type属性与提交行为

日常开发中较少直接操作button标签。近期开发过程中遇到在Firefox下点击button按钮行为与提交按钮相同的情况,查阅文档后发现button标签具备type属性,其可选值包括submit、reset和button。此前误以为button标签默认即为button类型,这一认知存在偏差。


此外,该标签在IE与Firefox中的默认type属性值存在差异:IE下默认为button,而Firefox下默认为submit。因此,在火狐浏览器中点击该按钮时,会直接触发表单提交动作。




3.jquery的attr href属性:

IE环境下获取href属性的兼容处理

jQuery未能完全消除获取href属性值时的浏览器差异问题。在IE环境下,可通过调用ele.getAttribute("href", 2)并将第二个参数设为2,以获取正确的属性值,具体参考:



http://jsfox.cn/blog/javascript/get-right-href-attribute.html;http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx



经测试发现,IE8版本已修复此问题。但在利用jQuery的load方法嵌入页面时,IE环境下该页面内的href值已发生改变,此时即便使用ele.getAttribute("href", 2)获取,返回的依然是绝对地址。


参考http://forum.jquery.com/topic/href-attribute-ie-vs-standards-browsers二楼

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章