2014-3-25-JS判断浏览器

在ie中,事件传播的时候,生成的事件对象会绑定到全局的window上

而在其他浏览器中,事件对象将会是一个局部变量,传到方法中

1
2
3
4
5
6
7
var  btn = document.getElementById( 'btn' ); //一个按钮
btn.onclick =  function (event){ //给btn绑定一个点击事件
   //其他浏览器会在点击发生的时候,把事件对象当作参数传递过来
   alert( '其他浏览器:'  + event);
   //在ie浏览器中,这个event变量是空,它会在全局的window上
   alert( 'ie浏览器:'  + window.event);
}

这样在处理的时候,为了统一处理event对象,就需要区别出来ie和别的浏览器

而在ie中的document对象有一个all属性,里面存放了页面中所有的标签

在其他浏览器中是没有这个属性的,所以,可以用document.all来判断是否为ie浏览器

然后进行event处理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var  btn = document.getElementById( 'btn' );
btn.onclick =  function (event){ //给btn绑定一个点击事件
   //这里用一个三元表达式来做简单判断,如果存在document.all那么使用window.event
   //否则就直接用event
   var  ev = document.all ? window.event : event;
   alert(ev);
}
 
//这个写法可以稍微简单一些
btn.onclick =  function (event){
   //直接用这个判断,如果存在event对象,则直接用他,否则用window.event
   var  ev = event || window.event;
   alert(ev);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值