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 相关文章推荐
formvalidator验证插件中有关ajax验证问题
Jan 04 Javascript
js四舍五入数学函数round使用实例
May 09 Javascript
jQuery中hasClass()方法用法实例
Jan 06 Javascript
基于Jquery实现万圣节快乐特效
Nov 01 Javascript
js实现跨域访问的三种方法
Dec 09 Javascript
js和jquery中获取非行间样式
May 05 jQuery
浅谈React Native 中组件的生命周期
Sep 08 Javascript
Angular5集成eventbus的示例代码
Jul 19 Javascript
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
Sep 03 jQuery
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
May 08 Javascript
vue 使用lodash实现对象数组深拷贝操作
Sep 10 Javascript
vue使用video插件vue-video-player详解
Oct 23 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中HTTP方式下的Gzip压缩传输方法举偶
2007/02/15 PHP
请php正则走开
2008/03/15 PHP
php 数组动态添加实现代码(最土团购系统的价格排序)
2011/12/30 PHP
PHP下使用CURL方式POST数据至API接口的代码
2013/02/14 PHP
PHP加密扩展库Mcrypt安装和实例
2013/11/10 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
2017/12/13 PHP
laravel手动创建数组分页的实现代码
2018/06/07 PHP
PHPMailer ThinkPHP实现自动发送邮件功能
2018/06/10 PHP
javascript中检测变量的类型的代码
2010/12/28 Javascript
jquery 操作iframe的几种方法总结
2013/12/13 Javascript
js的alert样式如何更改如背景颜色
2014/01/22 Javascript
jquery获取当前日期的方法
2015/01/14 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
2015/03/26 Javascript
深入理解bootstrap框架之入门准备
2016/10/09 Javascript
Vue.js自定义指令的用法与实例解析
2017/01/18 Javascript
基于angular2 的 http服务封装的实例代码
2017/06/29 Javascript
angular 服务的单例模式(依赖注入模式下)详解
2018/10/22 Javascript
nodejs简单抓包工具使用详解
2019/08/23 NodeJs
Antd的Table组件嵌套Table以及选择框联动操作
2020/10/24 Javascript
vue中activated的用法
2021/01/03 Vue.js
Python之eval()函数危险性浅析
2014/07/03 Python
Python编程pygame模块实现移动的小车示例代码
2018/01/03 Python
怎么解决pycharm license Acti的方法
2020/10/28 Python
CSS3 新增选择器的实例
2019/11/13 HTML / CSS
阿迪达斯意大利在线商店:adidas意大利
2016/09/19 全球购物
美国Lolё官网:购买大胆而美丽的女性运动服装
2017/05/22 全球购物
诺心蛋糕官网:LE CAKE
2018/08/25 全球购物
FC-Moto西班牙:摩托车手最大的购物场所之一
2019/04/11 全球购物
城市规划毕业生求职信
2013/10/10 职场文书
人力资源管理专业自荐信
2014/06/24 职场文书
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
健康状况证明模板
2014/10/23 职场文书
2015新员工试用期工作总结
2014/12/12 职场文书
优秀教研组申报材料
2014/12/26 职场文书
Redis 异步机制
2022/05/15 Redis