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 相关文章推荐
jquery 常用操作方法
Jan 28 Javascript
js下关于onmouseout、事件冒泡的问题经验小结
Dec 09 Javascript
imgAreaSelect 中文文档帮助说明
Oct 08 Javascript
js关闭当前页面(窗口)的几种方式总结
Mar 05 Javascript
浅谈Javascript变量作用域问题
Dec 16 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
Sep 23 Javascript
全面解析Bootstrap布局组件应用
Feb 22 Javascript
[原创]JQuery 在表单提交之前修改 提交的值
Apr 14 Javascript
React组件的三种写法总结
Jan 12 Javascript
妙用缓存调用链实现JS方法的重载
Apr 30 Javascript
解决Vue打包上线之后部分CSS不生效的问题
Nov 12 Javascript
JavaScript实现矩形块大小任意缩放
Aug 25 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
世界收音机发展史
2021/03/01 无线电
如何开发一个虚拟域名系统
2006/10/09 PHP
php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
2010/05/15 PHP
ThinkPHP的Widget扩展实例
2014/06/19 PHP
PHP与MYSQL中UTF8编码的中文排序实例
2014/10/21 PHP
静态html文件执行php语句的方法(推荐)
2016/11/21 PHP
基于jQuery的前端数据通用验证库
2011/08/08 Javascript
jQuery 获取URL的GET参数值的小例子
2013/04/18 Javascript
javascript如何动态加载表格与动态添加表格行
2013/11/27 Javascript
我的Node.js学习之路(二)NPM模块管理
2014/07/06 Javascript
深入分析node.js的异步API和其局限性
2016/09/05 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
jQuery中.attr()和.data()的区别分析
2017/09/03 jQuery
Node.js中使用mongoose操作mongodb数据库的方法
2017/09/12 Javascript
Node.js+ELK日志规范的实现
2019/05/23 Javascript
python抽象基类用法实例分析
2015/06/04 Python
python 捕获shell脚本的输出结果实例
2017/01/04 Python
Unicode和Python的中文处理
2017/03/19 Python
利用python实现简单的循环购物车功能示例代码
2017/07/05 Python
利用Hyperic调用Python实现进程守护
2018/01/02 Python
使用python 爬虫抓站的一些技巧总结
2018/01/10 Python
python 使用装饰器并记录log的示例代码
2019/07/12 Python
如何基于python测量代码运行时间
2019/12/25 Python
django model通过字典更新数据实例
2020/04/01 Python
python re.match()用法相关示例
2021/01/27 Python
复古服装:RetroStage
2019/05/10 全球购物
大学毕业生工作的自我评价
2013/10/01 职场文书
厨房管理计划书
2014/04/27 职场文书
群教班子对照检查材料
2014/08/26 职场文书
对外汉语教师推荐信
2015/03/27 职场文书
写给同事的离职感言
2015/08/04 职场文书
文明礼仪主题班会
2015/08/13 职场文书
同学联谊会邀请函
2019/06/24 职场文书
Golang 实现获取当前函数名称和文件行号等操作
2021/05/08 Golang
详解Java ES多节点任务的高效分发与收集实现
2021/06/30 Java/Android
详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)
2021/07/01 HTML / CSS