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


Posted in Javascript onOctober 23, 2008

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

Javascript 相关文章推荐
javascript Base类 包含基本的方法
Jul 22 Javascript
js下获取div中的数据的原理分析
Apr 07 Javascript
通过js动态操作table(新增,删除相关列信息)
May 23 Javascript
jquery淡化版banner异步图片文字效果切换图片特效
Apr 08 Javascript
在JS中操作时间之getUTCMilliseconds()方法的使用
Jun 10 Javascript
js实现三张图(文)片一起切换的banner焦点图
Aug 25 Javascript
jQuery遍历json的方法(推荐)
Jun 12 Javascript
微信小程序 石头剪刀布实例代码
Jan 04 Javascript
深入理解ES6中let和闭包
Feb 22 Javascript
Node.js log4js日志管理详解
Jul 31 Javascript
从vue源码看props的用法
Jan 09 Javascript
vue slot与传参实例代码讲解
Apr 28 Javascript
Javascript客户端将指定区域导出到Word、Excel的代码
Oct 22 #Javascript
checkbox 多选框 联动实现代码
Oct 22 #Javascript
javascript网页关闭时提醒效果脚本
Oct 22 #Javascript
javascript Select标记中options操作方法集合
Oct 22 #Javascript
JavaScript Undefined,Null类型和NaN值区别
Oct 22 #Javascript
javascript TextArea动态显示剩余字符
Oct 22 #Javascript
Javascript this关键字使用分析
Oct 21 #Javascript
You might like
用PHP和MySQL保存和输出图片
2006/10/09 PHP
PHP一些有意思的小区别
2006/12/06 PHP
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
2009/03/03 PHP
php的闭包(Closure)匿名函数初探
2016/02/14 PHP
Yii2针对游客、用户防范规则和限制的解决方法分析
2016/10/08 PHP
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
js模拟类继承小例子
2010/07/17 Javascript
基于node.js的快速开发透明代理
2010/12/25 Javascript
JavaScript 注册事件代码
2011/01/27 Javascript
JavaScript中的this关键字使用详解
2015/08/14 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
Javascript的表单与验证-非空验证
2016/03/18 Javascript
js链表操作(实例讲解)
2017/08/29 Javascript
JavaScript 数组的进化与性能分析
2017/09/18 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
Python的Socket编程过程中实现UDP端口复用的实例分享
2016/03/19 Python
python语言使用技巧分享
2016/05/31 Python
在PyCharm中实现关闭一个死循环程序的方法
2018/11/29 Python
python处理multipart/form-data的请求方法
2018/12/26 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
selenium切换标签页解决get超时问题的完整代码
2020/08/30 Python
Python环境使用OpenCV检测人脸实现教程
2020/10/19 Python
python爬取豆瓣电影排行榜(requests)的示例代码
2021/02/18 Python
GAP美国官网:美国休闲时尚品牌
2016/08/26 全球购物
美国网上眼镜供应商:LEOTONY(眼镜、RX太阳镜和太阳镜)
2017/10/31 全球购物
Cole Haan官方网站:美国时尚潮流品牌
2017/12/06 全球购物
行政主管岗位职责
2013/11/18 职场文书
初中生个人学习的自我评价
2013/12/04 职场文书
特色冷饮店创业计划书
2014/01/28 职场文书
2014年学习部工作总结
2014/11/12 职场文书
社区文明倡议书
2015/04/28 职场文书
保护环境建议书作文400字
2015/09/14 职场文书
Java内存模型之happens-before概念详解
2021/06/13 Java/Android
详解Mysql数据库平滑扩容解决高并发和大数据量问题
2022/05/25 MySQL
Python使用Web框架Flask开发项目
2022/06/01 Python