新手帮助当前位置:万彩娱乐平台 > 新手帮助 > >

万彩娱乐注册IE浏览器兼容Firefox的JS脚本的代码

  

[Firefox,浏览器,IE,JS]IE浏览器兼容Firefox的JS脚本的代码

  1.window.event兼容脚本  
2.屏蔽Form提交事件  
3.获取事件源  
4.添加事件兼容写法  
5.Firefox注册innerText写法  
6.长度  
7.父控件下的子控件  
8.XmlHttp  
1.window.event兼容脚本  
function getEvent(){ //获取浏览器事件,同时兼容ie和ff的写法  
if(document.all) return window.event;  
func=getEvent.caller;  
while(func!=null){  
var arg0=func.arguments[0万彩娱乐];  
if(arg0){  
if((arg0.constructor==Event    arg0.constructor ==MouseEvent)  
   (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){  
return arg0;  
}  
}  
func=func.caller;  
}  
return null;  
}  
每次用事件之前Firefox都需要用getEvent()获取一下,否则就是空  
2.屏蔽Form提交事件  
event.returnValue=false;// for IE  
evt.preventDefault();//for firefox  
3.获取事件源  
var source=event.srcElement //IE  
var source=event.target //firefox  
4.添加事件兼容写法  
function addEvent(oElement,sEvent,func){  
if (oElement.attachEvent){  
oElement.attachEvent(sEvent,func);  
}  
else{  
sEvent=sEvent.substring(2,sEvent.length);  
oElement.addEventListener(sEvent,func,false);  
}  
}  
用法:addEvent(window,"onload",Start);  
5.Firefox注册innerText写法  
//注册firefox innerText  
HTMLElement.prototype.__defineGetter__("innerText",  
function(){  
var anyString = "";  
var childS = this.childNodes;  
for(var i=0; i if(childS[i].nodeType==1)  
anyString += childS[i].tagName=="BR" ? '\n' : childS[i].innerText;  
else if(childS[i].nodeType==3)  
anyString += childS[i].nodeValue;  
}  
return anyString;  
}  
);  
HTMLElement.prototype.__defineSetter__("innerText",  
function(sText){  
this.textContent=sText;  
}  
);  
6.长度:FireFox长度必须加“px”,IE无所谓  
7.父控件下的子控件:IE是“children”,FireFox是“childNodes”  
8.XmlHttp  
在IE中,XmlHttp.send(content)方法的content可以为空,而firefox则不能为空,应该用send(" "),否则会出现411错误  

(责任编辑:admin)

上一篇:万彩娱乐平台javascript运行机制之this详细介绍

下一篇:没有了

推荐内容

客户服务热线

010-400-12345

在线客服