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中获取高度和宽度函数总结
Oct 08 Javascript
超棒的响应式布局jQuery插件Freetile.js
Nov 17 Javascript
js树插件zTree获取所有选中节点数据的方法
Jan 28 Javascript
jQuery实现左右切换焦点图
Apr 03 Javascript
跟我学习javascript的var预解析与函数声明提升
Nov 16 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
Sep 14 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
Sep 20 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
May 25 jQuery
关于JavaScript中的this指向问题总结篇
Jul 23 Javascript
详解vue.js之绑定class和style的示例代码
Aug 24 Javascript
javascript中的event loop事件循环详解
Dec 14 Javascript
解决ant design vue中树形控件defaultExpandAll设置无效的问题
Oct 26 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
搜索引擎技术核心揭密
2006/10/09 PHP
PHP新手上路(五)
2006/10/09 PHP
php中全局变量global的使用演示代码
2011/05/18 PHP
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
2013/04/08 PHP
php中socket的用法详解
2014/10/24 PHP
PHP字符串word末字符实现大小写互换的方法
2014/11/10 PHP
PHP数组操作类实例
2015/07/11 PHP
基于命令行执行带参数的php脚本并取得参数的方法
2016/01/25 PHP
yii的入口文件index.php中为什么会有这两句
2016/08/04 PHP
php递归函数怎么用才有效
2018/02/24 PHP
js实现广告漂浮效果的小例子
2013/07/02 Javascript
js实现收缩菜单效果实例代码
2013/10/30 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
js实现简易的单数字随机抽奖(0-9)
2020/03/19 Javascript
使用CamanJS在Web页面上处理图像的技巧
2015/08/18 Javascript
JavaScript实现的可变动态数字键盘控件方式实例代码
2017/07/15 Javascript
父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法
2018/04/25 Javascript
利用chrome浏览器进行js调试并找出元素绑定的点击事件详解
2021/01/30 Javascript
JS实现将对象转化为数组的方法分析
2019/01/21 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
2019/09/25 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
Python基于Opencv来快速实现人脸识别过程详解(完整版)
2019/07/11 Python
用Python抢火车票的简单小程序实现解析
2019/08/14 Python
特罗佩亚包官方网站:Tropea
2017/01/03 全球购物
美赞臣营养马来西亚旗舰店:Enfagrow马来西亚
2019/07/26 全球购物
古汉语文学求职信范文
2014/03/16 职场文书
教师教学评估方案
2014/05/09 职场文书
给老师的保证书怎么写
2015/05/09 职场文书
于丹论语心得观后感
2015/06/15 职场文书
红色革命电影观后感
2015/06/18 职场文书
高质量“欢迎词”
2019/04/03 职场文书
原生JS封装vue Tab切换效果
2021/04/28 Vue.js
入门学习Go的基本语法
2021/07/07 Golang
Elasticsearch 索引操作和增删改查
2022/04/19 Python
详解Python中的for循环
2022/04/30 Python