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 关键字屏蔽实现函数
Aug 02 Javascript
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
Dec 27 Javascript
toString()一个会自动调用的方法
Feb 08 Javascript
jQuery中的jQuery()方法用法分析
Dec 27 Javascript
jquery实现select选择框内容左右移动代码分享
Nov 21 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
Aug 17 Javascript
JSON 数据详解及实例代码分析
Jan 20 Javascript
详解前端路由实现与react-router使用姿势
Aug 07 Javascript
使用canvas进行图像编辑的实例
Aug 29 Javascript
Vux+Axios拦截器增加loading的问题及实现方法
Nov 08 Javascript
JavaScript实现省份城市的三级联动
Feb 11 Javascript
JavaScript面向对象核心知识与概念归纳整理
May 09 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数据库操作面向对象的优点
2006/10/09 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
2013/02/14 PHP
使用PHP和HTML5 FormData实现无刷新文件上传教程
2014/09/06 PHP
日常整理PHP中简单的图形处理(经典)
2015/10/26 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
2016/09/11 PHP
jquery $.ajax入门应用二
2008/11/19 Javascript
通过event对象的fromElement属性解决热区设置主实体的一个bug
2008/12/22 Javascript
jQuery 打造动态下滑菜单实现说明
2010/04/15 Javascript
jquery validate poshytip 自定义样式
2012/11/26 Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
2013/04/19 Javascript
JS 如何获取radio选中后的值及不选择取radio的值
2013/10/28 Javascript
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
jqGrid用法汇总(全经典)
2016/06/28 Javascript
vue中SPA单页面应用程序详解
2017/11/07 Javascript
Vue框架里使用Swiper的方法示例
2018/09/20 Javascript
js实现点赞效果
2020/03/16 Javascript
微信小程序学习之自定义滚动弹窗
2020/12/20 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
[15:56]Heroes18_暗影萨满(完美)
2014/10/31 DOTA
python中使用enumerate函数遍历元素实例
2014/06/16 Python
python编写网页爬虫脚本并实现APScheduler调度
2014/07/28 Python
wxPython之解决闪烁的问题
2018/01/15 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
Pytorch的mean和std调查实例
2020/01/02 Python
pyecharts动态轨迹图的实现示例
2020/04/17 Python
Django多层嵌套ManyToMany字段ORM操作详解
2020/05/19 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
js实现弹框效果
2021/03/24 Javascript
师范教师专业大学生职业生涯规划范文
2014/03/02 职场文书
优秀团员自我评价范文
2014/04/23 职场文书
建国大业观后感600字
2015/06/01 职场文书
指导老师鉴定意见
2015/06/05 职场文书
Redis高并发防止秒杀超卖实战源码解决方案
2021/11/01 Redis