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模拟hashtable的简单实例
Mar 06 Javascript
jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
Jan 04 Javascript
详解JS正则replace的使用方法
Mar 06 Javascript
JavaScript正则表达式简单实用实例
Jun 23 Javascript
Javascript实现时间倒计时效果
Jul 15 Javascript
jQuery接受后台传递的List的实例详解
Aug 02 jQuery
JS点击图片弹出文件选择框并覆盖原图功能的实现代码
Aug 25 Javascript
javascript填充默认头像方法
Feb 22 Javascript
详解Vue项目在其他电脑npm run dev运行报错的解决方法
Oct 29 Javascript
推荐15个最好用的JavaScript代码压缩工具
Feb 13 Javascript
JavaScript实现多个物体同时运动
Mar 12 Javascript
Vue ​v-model相关知识总结
Jan 28 Vue.js
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学习笔记(二) 了解PHP的基本语法以及目录结构
2014/08/04 PHP
php随机显示指定文件夹下图片的方法
2015/07/13 PHP
php验证手机号码
2015/11/11 PHP
PHP和MySql中32位和64位的整形范围是多少
2016/02/18 PHP
通过判断JavaScript的版本实现执行不同的代码
2010/05/11 Javascript
最佳的addEvent事件绑定是怎样诞生的
2011/10/24 Javascript
使用非html5实现js板连连看游戏示例代码
2013/09/22 Javascript
node.js中的fs.appendFile方法使用说明
2014/12/17 Javascript
jquery.cookie实现的客户端购物车操作实例
2015/12/24 Javascript
Bootstrap入门书籍之(零)Bootstrap简介
2016/02/17 Javascript
深入理解JavaScript中的浮点数
2016/05/18 Javascript
jQuery封装的屏幕居中提示信息代码
2016/06/08 Javascript
[原创]jQuery常用的4种加载方式分析
2016/07/25 Javascript
JS实现根据用户输入分钟进行倒计时功能
2016/11/14 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
2018/09/15 Javascript
基于JavaScript实现一个简单的Vue
2018/09/26 Javascript
15个顶级开源JavaScript框架和库
2018/10/10 Javascript
Bootstrap4 gulp 配置详解
2019/01/06 Javascript
jQuery+vue.js实现的多选下拉列表功能示例
2019/01/15 jQuery
JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
2019/07/10 Javascript
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
教你用Python创建微信聊天机器人
2020/03/31 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
2018/07/30 Python
深入了解和应用Python 装饰器 @decorator
2019/04/02 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
深入了解Django View(视图系统)
2019/07/23 Python
django将数组传递给前台模板的方法
2019/08/06 Python
python opencv将表格图片按照表格框线分割和识别
2019/10/30 Python
python图片指定区域替换img.paste函数的使用
2020/04/09 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
同事打架检讨书
2014/02/04 职场文书
社区先进事迹材料
2014/05/19 职场文书
公务员试用期满考核材料
2014/05/22 职场文书
2014高中生入党思想汇报范文
2014/09/13 职场文书
七年级思品教学反思
2016/02/20 职场文书