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 设置选中行的样式的实现代码
May 24 Javascript
jquery attr 设定src中含有&(宏)符号问题的解决方法
Jul 26 Javascript
javascript中的self和this用法小结
Feb 08 Javascript
用js替换除数字与逗号以外的所有字符的代码
Jun 07 Javascript
jqueryMobile使用示例分享
Jan 12 Javascript
Angularjs修改密码的实例代码
May 26 Javascript
JavaScript 用fetch 实现异步下载文件功能
Jul 21 Javascript
vue-cli配置环境变量的方法
Jul 09 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
Oct 29 Javascript
vue中使用GraphQL的实例代码
Nov 04 Javascript
vue实现购物车选择功能
Jan 10 Javascript
Vue接口封装的完整步骤记录
May 14 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
PDO防注入原理分析以及使用PDO的注意事项总结
2014/10/23 PHP
php版微信公众号接口实现发红包的方法
2016/10/14 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
5 cool javascript apps
2007/03/24 Javascript
jscript之Read an Excel Spreadsheet
2007/06/13 Javascript
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
2010/03/07 Javascript
js变换显示图片的实例
2013/04/16 Javascript
js获取客户端外网ip的简单实例
2013/11/21 Javascript
jQuery Mobile中的button按钮组件基础使用教程
2016/05/23 Javascript
jQuery动态加载css文件实现方法
2016/06/15 Javascript
vue实现全选、反选功能
2020/11/17 Javascript
JavaScript中in和hasOwnProperty区别详解
2017/08/04 Javascript
js中apply和Math.max()函数的问题及区别介绍
2018/03/27 Javascript
setTimeout与setInterval的区别浅析
2019/03/23 Javascript
js实现随机抽奖
2020/03/19 Javascript
Node.js API详解之 timer模块用法实例分析
2020/05/07 Javascript
[01:02:34]TFT vs VGJ.T Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[00:16]热血竞技场
2019/03/06 DOTA
Python使用装饰器进行django开发实例代码
2018/02/06 Python
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
2018/04/02 Python
Django项目中添加ldap登陆认证功能的实现
2019/04/04 Python
Python 一键制作微信好友图片墙的方法
2019/05/16 Python
Python网络编程之使用TCP方式传输文件操作示例
2019/11/01 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
2020/01/04 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
2020/02/16 Python
Python+Opencv实现把图片、视频互转的示例
2020/12/17 Python
英国内衣连锁店:Boux Avenue
2018/01/24 全球购物
应聘教师推荐信
2013/10/31 职场文书
个人实用的自我评价范文
2013/11/23 职场文书
倡议书格式范文
2014/04/14 职场文书
小班上学期幼儿评语
2014/12/30 职场文书
2016春季幼儿园开学寄语
2015/12/03 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
nginx网站服务如何配置防盗链(推荐)
2021/03/31 Servers
vue ref如何获取子组件属性值
2022/03/31 Vue.js