事件模型在各浏览器中存在差异(3)

执行以上测试代码,分别点击 'Interface Event' 按钮、'Interface UIEvent & MouseEvent' 按钮和图片,鼠标移到图片上再移开,在文本框中输入 'a',得到结果整理如下表:3

Interface & Non-standard Property & method IE6 IE7 IE8 Chrome Safari Opera Firefox
Interface Event type Y   Y   Y  
target N   Y   Y  
currentTarget N   Y   Y  
eventPhase N   Y   Y  
bubbles N   Y   Y  
cancelable N   Y   Y  
timeStamp N   Y   Y  
initEvent N   Y   Y  
preventDefault N   Y   Y  
stopPropagation N   Y   Y  
Interface UIEvent view N   Y   Y  
detail N   Y   Y  
initUIEvent N   Y   Y  
Interface MouseEvent screenX Y   Y   Y  
screenY Y   Y   Y  
clientX Y   Y   Y  
clientY Y   Y   Y  
ctrlKey Y   Y   Y  
shiftKey Y   Y   Y  
altKey Y   Y   Y  
metaKey N   Y   Y  
button Y   Y   Y  
relatedTarget N   Y   Y  
initMouseEvent N   Y   Y  
Non-standard cancelBubble Y   Y   Y  
offsetX Y   Y   N  
offsetY Y   Y   N  
returnValue Y   Y   N  
srcElement Y   Y   N  
x Y   Y   N  
y Y   Y   N  
fromElement Y   Y   N  
toElement Y   Y   N  
keyCode Y   Y   Y  

注3: Y 代表事件对象支持该属性或方法,N 代表不支持。

从上表中可以看出:

IE 支持事件对象的所有非标准属性,不支持除 'type' 外 Event 接口的所有方法属性及方法,不支持 UIEvent 接口的所有属性和方法,不支持 MouseEvent 接口的 'metaKey'、'relatedTarget' 属性和 'initMouseEvent' 方法; Chrome Safari Opera 支持事件对象的所有标准及非标准的属性和方法; Firefox 支持事件对象的所有标准属性和方法,但仅支持非标准属性中的 'cancelBubble' 和 'keyCode'。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdxwgj.html