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 相关文章推荐
js实现两个值相加alert出来精确到指定位
Sep 25 Javascript
使用JavaScript判断图片是否加载完成的三种实现方式
May 04 Javascript
javascript使用prototype完成单继承
Dec 24 Javascript
jQuery之DOM对象和jQuery对象的转换与区别分析
Jan 08 Javascript
JavaScript类继承及实例化的方法
Jul 25 Javascript
浅谈关于iview表单验证的问题
Sep 29 Javascript
使用jquery模拟a标签的click事件无法实现跳转的解决
Dec 04 jQuery
Vue+Koa2 打包后进行线上部署的教程详解
Jul 31 Javascript
JavaScript获取页面元素的常用方法详解
Sep 28 Javascript
es6中new.target的作用和使用场景简单示例分析
Mar 14 Javascript
ES2020 已定稿,真实场景案例分析
May 25 Javascript
微信小程序实现多选框功能的实例代码
Jun 24 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中使用gettext来支持多语言的方法
2011/05/02 PHP
php中header跳转使用include包含解决参数丢失问题
2015/05/08 PHP
细品javascript 寻址,闭包,对象模型和相关问题
2009/04/27 Javascript
围观tangram js库
2010/12/28 Javascript
html组件不可输入(只读)同时任何组件都有效
2013/04/01 Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
2013/04/07 Javascript
js取得html iframe中的元素和变量值
2014/06/30 Javascript
$("").click与onclick的区别示例介绍
2014/09/25 Javascript
AngularJS入门教程之控制器详解
2016/07/27 Javascript
浅谈JavaScript的自动垃圾收集机制
2016/12/15 Javascript
JS实现简单抖动效果
2017/06/01 Javascript
Vue.js组件通信的几种姿势
2017/10/23 Javascript
Angular实现的敏感文字自动过滤与提示功能示例
2017/12/29 Javascript
详解VS Code使用之Vue工程配置format代码格式化
2019/03/20 Javascript
vue.js+element 默认提示中英文操作
2020/11/11 Javascript
[01:59]翻天覆地,因你而变,7.20版本地图更新速览
2018/11/24 DOTA
[56:38]DOTA2-DPC中国联赛正赛Aster vs Magma BO3 第一场 3月5日
2021/03/11 DOTA
python thread 并发且顺序运行示例
2009/04/09 Python
python 中的列表解析和生成表达式
2011/03/10 Python
Python列表list数组array用法实例解析
2014/10/28 Python
python学习数据结构实例代码
2015/05/11 Python
python使用正则表达式匹配字符串开头并打印示例
2017/01/11 Python
Django框架用户注销功能实现方法分析
2019/05/28 Python
python构建指数平滑预测模型示例
2019/11/21 Python
python随机生成库faker库api实例详解
2019/11/28 Python
python计算auc的方法
2020/09/09 Python
html5教程画矩形代码分享
2013/12/04 HTML / CSS
加拿大在线旅游公司:Flighthub
2019/03/11 全球购物
门卫岗位职责
2013/11/15 职场文书
学生实习推荐信范文
2013/11/26 职场文书
应付会计岗位职责
2013/12/12 职场文书
大学生求职工作的自我评价
2014/02/13 职场文书
党的群众路线对照检查材料思想汇报
2014/09/25 职场文书
房屋维修协议书范本
2014/09/25 职场文书
晚会闭幕词
2015/01/28 职场文书
2015年度团总支工作总结
2015/04/23 职场文书