为了账号安全,请及时绑定邮箱和手机立即绑定

关于IE兼容事件监听~检测浏览器所支持的属性(或者方法),并获取。

关于IE兼容事件监听~检测浏览器所支持的属性(或者方法),并获取。

慕的地10843 2018-12-06 18:52:57
在一个通用的事件模块中有这几个方法: getEvent:function(event){        return event?event:window.event;    },    getTarget:function(event){        return event.target||event.srcElement;    },    preventDefault:function(event){        if(event.preventDefault){            event.preventDefault();        }else{            event.returnValue=false;        }    },    stopPropagation:function(event){        if(event.stopPropagation){            event.stopPropagation();        }else{            event.cancelBubble=true;        } 虽然都是检测支持哪个属性(方法),然后得这个支持的属性(方法),但使用的方法不一样。分别是 ?  || 和if(),这三种方法有什么 区别?比如第一个能不能写成  return event||window.event
查看完整描述

3 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

对第一个回答的补充。如果是函数名可以|| ?,来判断函数是否存在。但是执行过的函数就是判断返回值并赋值,若两个函数都没有返回值的话就是undefined了。所以阻止默认和冒泡的就不可以。

查看完整回答
反对 回复 2018-12-24
?
弑天下

TA贡献1818条经验 获得超8个赞

前两个可以用return event||window.event,return event.target||event.srcElement,后面的两个(阻止默认行为和阻止冒泡不行)

查看完整回答
反对 回复 2018-12-24
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

这样写很好啊,这些代码不是楼主自己写的吗?

查看完整回答
反对 回复 2018-12-24
  • 3 回答
  • 0 关注
  • 360 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号