快捷导航

为什么方法和属性直接不能用 || ?

getElement:function(event){                returnevent.target||event.srcElement;        },preventDefalt:function(event){                returnevent.preventDefault()||event.returnValue=false;        },第二个无效

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

你的函数写的有问题:

  • 取消默认行为并不需要return值。
2. 你的preventDefalt函数,如果运行,在现代浏览器中(非ie10及以下),只会执行event.returnValue=false;因为event.preventDefault()的结果是undefined---->执行event.returnValue=false,只是给event添加了一个属性returnValue,并赋值false;
而在ie10及以下中会报错的,event没有preventDefault属性,event.preventDefault()--->undefined()--->类型错误:Uncaught TypeError

可以这样写:

preventDefalt:function(event){if(event.preventDefault){event.preventDefault();}else{event.returnValue=false;}}

或者
preventDefalt:function(event){event.preventDefault?event.preventDefault():event.returnValue=false;}
回复

使用道具 举报

这题是送分的....
|| 的优先 =
先比较再等于
右边加个()就能运行了
回复

使用道具 举报

可能感兴趣的问答

发新帖
TA的信息
  • 会员所属: 注册会员
  • 认证信息: 邮箱认证手机认证
  • 微信访问
  • 手机APP