Firefox和IE浏览器兼容JS脚本写法小结


Posted in Javascript onJuly 07, 2008

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错误

Javascript 相关文章推荐
datePicker——日期选择控件(with jquery)
Feb 20 Javascript
JavaScript CSS 修改学习第四章 透明度设置
Feb 19 Javascript
JQuery的read函数与js的onload不同方式实现
Mar 18 Javascript
html的DOM中Event对象onblur事件用法实例
Jan 21 Javascript
原生javascript实现解析XML文档与字符串
Mar 01 Javascript
实用jquery操作表单元素的简单代码
Jul 04 Javascript
BootStrap Typeahead自动补全插件实例代码
Aug 10 Javascript
AngularJS 在同一个界面启动多个ng-app应用模块详解
Dec 20 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
Mar 01 Javascript
JS实现图片轮播效果实例详解【可自动和手动】
Apr 04 Javascript
Vue分页器实现原理详解
Jun 28 Javascript
vue父子组件通信的高级用法示例
Aug 29 Javascript
图片自动缩小 点击放大
Jul 07 #Javascript
超级退弹代码
Jul 07 #Javascript
Javascript入门学习资料收集整理篇
Jul 06 #Javascript
javascript 火狐(firefox)不显示本地图片问题解决
Jul 05 #Javascript
javascript 火狐(firefox)不显示本地图片问题解决
Jul 05 #Javascript
用JS剩余字数计算的代码
Jul 03 #Javascript
javascript indexOf函数使用说明
Jul 03 #Javascript
You might like
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
2014/06/21 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
2014/10/21 PHP
thinkPHP简单遍历数组方法分析
2016/05/16 PHP
轻松创建nodejs服务器(4):路由
2014/12/18 NodeJs
JavaScript中的比较操作符>、=、
2014/12/31 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
Jquery easyui 实现动态树
2015/11/17 Javascript
jQuery 移动端artEditor富文本编辑器
2016/01/11 Javascript
javascript实现图片轮播效果
2016/01/20 Javascript
基于JavaScript实现弹出框效果
2016/02/19 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
seajs模块之间依赖的加载以及模块的执行
2016/10/21 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
利用JS轻松实现获取表单数据
2016/12/06 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
2016/12/30 Javascript
Vue.set 全局操作简单示例
2019/09/19 Javascript
JS操作字符串转数字的常见方法示例
2019/10/29 Javascript
[00:16]热血竞技场
2019/03/06 DOTA
使用python开发vim插件及心得分享
2014/11/04 Python
Python读写Excel文件方法介绍
2014/11/22 Python
python 换位密码算法的实例详解
2017/07/19 Python
详解Python中where()函数的用法
2018/03/27 Python
python基础教程项目三之万能的XML
2018/04/02 Python
python用类实现文章敏感词的过滤方法示例
2019/10/27 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
美国休闲服装品牌:Express
2016/09/24 全球购物
EJB实例的生命周期
2016/10/28 面试题
销售代表求职自荐信
2013/10/01 职场文书
商务英语专业毕业生求职信
2014/07/06 职场文书
先进员工事迹材料
2014/12/20 职场文书
2015年银行大堂经理工作总结
2015/04/24 职场文书
工作表现证明
2015/06/15 职场文书
2016春季运动会前导词
2015/11/25 职场文书
python实战之一步一步教你绘制小猪佩奇
2021/04/22 Python
【海涛解说】暗牧也疯狂,牛蛙成配角
2022/04/01 DOTA