Event.originalEvent jQuery
В настоящее время я погружен в учебный центр jQuery. Я иду от начала до конца.
Я просто прочитал этот параграф:
Также важно отметить, что объект события содержит свойство называемый originalEvent
, который является объектом события, который браузер сам создавался. jQuery обертывает этот объект родного события некоторыми полезными методы и свойства, но в некоторых случаях вам нужно получить доступ исходное событие через event.originalEvent
, например. Это особенно полезно для сенсорных событий на мобильных устройствах и планшетах.
Последнее предложение "Это особенно полезно для сенсорных событий на мобильных устройствах и планшетах", действительно вызвало мой интерес. но это так же, как учебный центр доходит до originalEvent
.
Кто-нибудь знает о хороших ресурсах для более интенсивного изучения/практики для event.originalEvent
конкретно в отношении сенсорных событий/мобильных устройств?
Ответы
Ответ 1
event.originalEvent
обычно является только нативным event
(также описано здесь).
Однако, если браузер совместим, а событие было touch event
, то этот API будет отображаться через event.originalEvent
.
Короткий ответ заключается в том, что event.originalEvent
не всегда одно и то же, он зависит от того, какой тип события вызвал обработчик и в среде браузера.
Ответ 2
У меня есть случай, который мне нужно использовать event.originalEvent
, проблема заключалась в попытке получить экземпляр отброшенного файла с помощью перетаскивания с помощью события drop, вот что произошло
var files = event.dataTransfer.files; // Gives error: trying to get property of undefined
при записи
var files = event.originalEvent.dataTransfer.files; // Works fine
Это означает, что jQuery не переносит собственное событие браузера со всеми его API-интерфейсами, такими как API файлов в этом примере, поэтому, чтобы получить доступ к этим исключенным свойствам и функциям из события jQuery, мы должны использовать event.originalEvent
. Надежда, которая помогает кому-то.
Ответ 3
jQuery знает стандартные события и соответствует им для разных браузеров. но когда стандартного события jQuery не удается сопоставить объект события, но имеет отказоустойчивый originalEvent
, который сохраняет исходный обслуживаемый объект браузером.
например mousewheel
и DOMMouseScroll
нужно event.originalEvent
тоже, так как поддержка колес не поддерживается.