event.originalEvent jQuery
我目前正沉浸在jQuery学习中心。 我要从头到尾
我刚刚读了这一段 :
注意事件对象还包含一个名为
originalEvent
的属性,这是浏览器自己创build的事件对象。 jQuery使用一些有用的方法和属性来封装这个本地事件对象,但在某些情况下,你需要通过event.originalEvent
来访问原始事件。 这对移动设备和平板电脑上的触摸事件特别有用。
最后一句话, “这对移动设备和平板电脑上的触摸事件特别有用”。 ,真的引起了我的兴趣。 但这是迄今为止学习中心进入originalEvent
多less。
有没有人知道有更好的资源来进行更深入的研究/练习event.originalEvent
具体涉及触摸事件/移动设备?
event.originalEvent
通常只是本地event
(也在这里描述)。
但是,如果浏览器兼容,并且该事件是touch event
则该API将通过event.originalEvent
。
简短的回答是event.originalEvent
并不总是相同的,它取决于哪个事件types触发了处理程序,并且取决于浏览器的环境。
我有一个案例,我需要使用event.originalEvent
的问题是试图通过拖放使用拖放事件得到一个拖放文件的实例,这是发生了什么
var files = event.dataTransfer.files; // Gives error: trying to get property of undefined
而写作
var files = event.originalEvent.dataTransfer.files; // Works fine
这意味着jQuery不会在本例中包装本机浏览器事件及其所有的API,比如File API,所以要从jQuery事件中访问那些被排除的属性和函数,我们必须使用event.originalEvent
。 希望能帮助别人。
jQuery知道标准事件,并符合不同的浏览器。 但是当没有标准事件的时候,jQuery没有遵从事件对象,而是有一个保持原始服务对象的保险originalEvent
事件。
例如DOMMouseScroll
和DOMMouseScroll
需要event.originalEvent
,因为没有对wheel事件的支持。