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

getElement:function(event){
		return event.target||event.srcElement;
	},
preventDefalt:function(event){
		return event.preventDefault()||event.returnValue=false;
	},

第二个无效 

清风流光
浏览 1601回答 3
3回答

会飞的四脚蛇

你的函数写的有问题:取消默认行为并不需要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;     }

清风流光

这题是送分的....|| 的优先 =先比较再等于右边加个()就能运行了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript