Firefox和IE浏览器兼容JS脚本写法小结


Posted in Javascript onJuly 07, 2008

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 相关文章推荐
通过length属性判断jquery对象是否存在
Oct 18 Javascript
jQuery.event兼容各浏览器的event详细解析
Dec 18 Javascript
jquery prop的使用介绍及与attr的区别
Dec 19 Javascript
jQuery 处理页面的事件详解
Jan 20 Javascript
兼容各大浏览器的JavaScript阻止事件冒泡代码
Jul 09 Javascript
javascript手风琴下拉菜单实现代码
Nov 12 Javascript
基于jquery实现轮播特效
Apr 22 Javascript
Javascript操作表单实例讲解(下)
Jun 20 Javascript
值得学习的bootstrap fileinput文件上传工具
Nov 08 Javascript
Angular中支持SCSS的方法
Nov 18 Javascript
vue实现鼠标移过出现下拉二级菜单功能
Dec 12 Javascript
vue实现循环滚动列表
Jun 30 Javascript
图片自动缩小 点击放大
Jul 07 #Javascript
超级退弹代码
Jul 07 #Javascript
Javascript入门学习资料收集整理篇
Jul 06 #Javascript
javascript 火狐(firefox)不显示本地图片问题解决
Jul 05 #Javascript
javascript 火狐(firefox)不显示本地图片问题解决
Jul 05 #Javascript
用JS剩余字数计算的代码
Jul 03 #Javascript
javascript indexOf函数使用说明
Jul 03 #Javascript
You might like
php 获取mysql数据库信息代码
2009/03/12 PHP
使用Linux五年积累的一些经验技巧
2013/06/20 PHP
php多线程并发实现方法
2016/09/30 PHP
PHP实现数组的笛卡尔积运算示例
2017/12/15 PHP
javascript中将Object转换为String函数代码 (json str)
2012/04/29 Javascript
js计算字符串长度包含的中文是utf8格式
2013/10/15 Javascript
原生JavaScript实现合并多个数组示例
2014/09/21 Javascript
Jquery中使用show()与hide()方法动画显示和隐藏图片
2015/10/08 Javascript
PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解
2015/10/09 Javascript
数据结构中的各种排序方法小结(JS实现)
2016/07/23 Javascript
AngularJS指令用法详解
2016/11/02 Javascript
vue2.0 下拉框默认标题设置方法
2018/08/22 Javascript
vue中datepicker的使用教程实例代码详解
2019/07/08 Javascript
详解vue-flickity的fullScreen功能实现
2020/04/07 Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
2021/01/08 Vue.js
[02:06]DOTA2肉山黑名单魔法终结者 敌法师中文配音鉴赏
2013/06/17 DOTA
Python爬取APP下载链接的实现方法
2016/09/30 Python
python使用matplotlib绘制折线图教程
2017/02/08 Python
Python机器学习算法之k均值聚类(k-means)
2018/02/23 Python
python的常用模块之collections模块详解
2018/12/06 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
2019/06/04 Python
一文解决django 2.2与mysql兼容性问题
2020/07/15 Python
用CSS3绘制三角形的简单方法
2015/07/17 HTML / CSS
HTML5之SVG 2D入门9—蒙板及mask元素介绍与应用
2013/01/30 HTML / CSS
新西兰网上购物,折扣店:BestDeals.co.nz
2019/03/20 全球购物
size?法国官网:英国伦敦的球鞋精品店
2020/03/15 全球购物
Silk Therapeutics官网:清洁、抗衰老护肤品
2020/08/12 全球购物
作文批改评语大全
2014/04/23 职场文书
个人自我剖析材料
2014/09/30 职场文书
党支部工作总结2015
2015/04/01 职场文书
2016年企业先进员工事迹材料
2016/02/25 职场文书
2019年幼儿园家长接送责任书
2019/10/29 职场文书
html输入两个数实现加减乘除功能
2021/07/01 HTML / CSS
MySQL系列之八 MySQL服务器变量
2021/07/02 MySQL
Python基础数据类型tuple元组的概念与用法
2021/08/02 Python
Redis 中使用 list,streams,pub/sub 几种方式实现消息队列的问题
2022/03/16 Redis