下面列出IE和非IE中常见的一些js兼容性问题。

//window.event
IE:有window.event对象
非IE:没有window.event对象。可以通过给函数的参数传递event对象。如onmousemove=doMouseMove(event)

解除冒泡的方法不同

下面列出IE和非IE中常见的一些js兼容性问题。
 

//window.event  

IE:有window.event对象  

非IE:没有window.event对象。可以通过给函数的参数传递event对象。如onmousemove=doMouseMove(event)  

解除冒泡的方法不同

IE:window.event.cancelBubble=true;
非IE:event.stopPropagation();

IE:会忽略节点之间生成的空白文本节点(比如换行字符)

非IE:不会忽略,会把节点之间的空白当成文本节点。

//鼠标当前坐标  

IE:event.x和event.y。  

非IE:event.pageX和event.pageY。  

通用:两者都有event.clientX和event.clientY属性。  
 

 

//event.srcElement问题  

说明:IE下,event对象有srcElement属性,但是没有target属性;Firefox下,even对象有target属性,但是没有srcElement属性.  

解决方法:使用obj(obj = event.srcElement ? event.srcElement :
event.target;)来代替IE下的event.srcElement或者Firefox下的event.target.
请同时注意event的兼容性问题。 
 

 
//添加事件  

IE:element.attachEvent(“onclick”, function);。  

非IE:element.addEventListener(“click”, function, true)。  


用:element.onclick=function。虽然都可以使用onclick事件,但是onclick和上面两种方法的效果是不一样
的,onclick
只有执行一个过程,而attachEvent和addEventListener执行的是一个过程列表,也就是多个过程。例
如:element.attachEvent(“onclick”, func1);element.attachEvent(“onclick”,
func2)这样func1和func2都会被执行。  

 

//标签的自定义属性  

IE:如果给标签div1定义了一个属性value,可以div1.value和div1[“value”]取得该值。  

非IE:不能用div1.value和div1[“value”]取。  

通用:div1.getAttribute(“value”)。  

 

//集合/数组类对象问题 

(1)现有问题: 

    现有代码中许多集合类对象取用时使用 (),IE 能接受,MF 不能。 

(2)解决方法: 

    改用 [] 作为下标运算。如:document.forms(“formName”) 改为 document.forms[“formName”]。 

    又如:document.getElementsByName(“inputName”)(1) 改为 document.getElementsByName(“inputName”)[1] 

 

//HTML 对象的 id 作为对象名的问题 

(1)现有问题 

     在 IE 中,HTML 对象的 ID 可以作为 document 的下属对象变量名直接使用。在 MF 中不能。 

(2)解决方法 

     用 getElementById(“idName”) 代替 idName 作为对象变量使用 

 

//input.type属性问题  

说明:IE下input.type属性为只读;但是Firefox下input.type属性为读写 

 
//body问题  

Firefox的body在body标签没有被浏览器完全读入之前就存在;而IE的body则必须在body标签被浏览器完全读入之后才存在 

 

//firefox与IE的父元素(parentElement)的区别  

IE:obj.parentElement  

非IE:obj.parentNode  

解决方法: 因为非IE与IE都支持DOM,因此使用obj.parentNode是不错选择 

 

//innerText在IE中能正常工作,但是innerText在FireFox中却不行. 需用textContent 
  

版权声明:本文为kakemei原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/kakemei/p/3344176.html%20