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事件。

例如DOMMouseScrollDOMMouseScroll需要event.originalEvent ,因为没有对wheel事件的支持。