js在IE和ff之间的差异(兼容)

1.在创建XMLHttpRequest对象时存在兼容   

var  xhr;
if(window.XMLHttpRequest){
    xhr = new XMLHttpRequest();
}else if(window.ActiveXObject){
   xhr = new ActiveXObject('Microsoft.XMLHTTP');
}

2.事件对象event的创建和属性存在差异

  IE中,event事件作为window对象的一个属性;而FF则作为参数传递给函数。

  同时IE阻止冒泡、阻止默认行为、事件源对象分别为: e.cancelBubble = true ,returnValue = false、srcElement;而在ff为stopPropagation()、preventDefault()、target。

3.input属性

  IE为只读属性,高版本的IE也可以读写;FF可以进行读写操作

4.innerText

   IE可以识别,ff则不行

5.鼠标的位置存在差异

   低版本的IE不能shibiepageX,pageY,ff可以,兼容办法:   

var  pageX = event.pageX;
var pageY = event.pageY;

if(pageX ===undefined){
    pageX = event.clientX+
   (doucment.body.scrollLeft||document.documentElement.scrollLeft);
}

if(pageY ===undefined){
    pageY = event.clientY+
   (doucment.body.scrollTop || document.documentElement.scrollTop);
}

 6.类似 obj.style.height = imgObj.height 的语句

  • IE:有效
  • Firefox:无效

   解决方法:统一使用obj.style.height = imgObj.height + ‘px’;

7.在绑定事件处理上:在注册事件上,IE有一个方法attchEvent(),而ff使用的是addEventListener();

posted @ 2013-03-27 09:42  沙漠孤鹰1140  阅读(216)  评论(0编辑  收藏  举报