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调用WebServices的方法和4个实例
May 06 Javascript
详解AngularJS中自定义指令的使用
Jun 17 Javascript
JavaScript切换搜索引擎的导航网页搜索框实例代码
Jun 11 Javascript
利用node.js实现自动生成前端项目组件的方法详解
Jul 12 Javascript
jQuery实现base64前台加密解密功能详解
Aug 29 jQuery
JavaScript正则表达式函数总结(常用)
Feb 22 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
Oct 18 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
Sep 02 Javascript
jquery实现吸顶导航效果
Jan 08 jQuery
微信小程序实现吸顶特效
Jan 08 Javascript
vue实现淘宝购物车功能
Apr 20 Javascript
vue中watch和computed的区别与使用方法
Aug 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
日本十大科幻动漫 宇宙骑士垫底,第一已成经典
2020/03/04 日漫
php中用数组的方法设置cookies
2011/04/21 PHP
symfony表单与页面实现技巧
2015/01/26 PHP
setInterval 和 setTimeout会产生内存溢出
2008/02/15 Javascript
javascript中的startWith和endWith的几种实现方法
2013/05/07 Javascript
jquery.ajax的url中传递中文乱码问题的解决方法
2014/02/07 Javascript
JS的get和set使用示例
2014/02/20 Javascript
jquery常用操作小结
2014/07/21 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
javascript实现的固定位置悬浮窗口实例
2015/04/30 Javascript
jQuery中serializeArray()与serialize()的区别实例分析
2015/12/09 Javascript
如何使用PHP+jQuery+MySQL实现异步加载ECharts地图数据(附源码下载)
2016/02/23 Javascript
JS实现图片垂直居中显示小结
2016/12/13 Javascript
jQuery插件echarts去掉垂直网格线用法示例
2017/03/03 Javascript
AngularJS中的拦截器实例详解
2017/04/07 Javascript
js仿微信抢红包功能
2020/09/25 Javascript
JavaScript canvas实现围绕旋转动画
2017/11/18 Javascript
微信小程序云开发详细教程
2019/05/16 Javascript
ES6 Promise对象的应用实例分析
2019/06/27 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
js正则表达式简单校验方法
2021/01/03 Javascript
关于better-scroll插件的无法滑动bug(2021通过插件解决)
2021/03/01 Javascript
Python合并多个Excel数据的方法
2018/07/16 Python
在Pandas中处理NaN值的方法
2019/06/25 Python
python实现PID算法及测试的例子
2019/08/08 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
2019/08/24 Python
python查找特定名称文件并按序号、文件名分行打印输出的方法
2020/04/24 Python
高考考python编程是真的吗
2020/07/20 Python
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
Kathmandu澳洲户外商店:新西兰户外运动品牌
2017/11/12 全球购物
东南亚排名第一的服务市场:kaodim
2019/03/28 全球购物
室内拓展活动方案
2014/02/13 职场文书
教师节横幅标语
2014/10/08 职场文书
违反交通安全法检讨书
2014/10/24 职场文书
三方股东合作协议书
2014/10/28 职场文书
周一早安温馨问候祝福语!
2019/07/15 职场文书