現在、jQueryラーニングセンターに没頭しています。私は最初から最後まで行きます。
この段落 :
また、イベントオブジェクトには
originalEvent
というプロパティが含まれています。これは、ブラウザ自体が作成したイベントオブジェクトです。 jQueryはこのネイティブイベントオブジェクトをいくつかの便利なメソッドとプロパティでラップしますが、場合によっては、たとえばevent.originalEvent
を介して元のイベントにアクセスする必要があります。これは、モバイルデバイスやタブレットでのタッチイベントに特に役立ちます。
最後の文 'これは、特にモバイルデバイスとタブレットでのタッチイベントに役立ちます。'しかし、これはラーニングセンターがこれまでoriginalEvent
に入るほどです。
event.originalEvent
のより集中的な研究/実践のための優れたリソースを知っている人はいますか?特にタッチイベント/モバイルデバイスに関連して?
event.originalEvent
は通常、ネイティブ event
(これも here と記述されています)です。
ただし、ブラウザに互換性があり、イベントが touch event
その後、そのAPIはevent.originalEvent
。
簡単な答えは、event.originalEvent
は常に同じではなく、どのイベントタイプがハンドラーをトリガーしたか、およびブラウザーの環境によって異なります。
event.originalEvent
を使用する必要がある場合があります。ドロップイベントを使用して、ドラッグアンドドロップでドロップされたファイルのインスタンスを取得しようとしていました。
var files = event.dataTransfer.files; // Gives error: trying to get property of undefined
書いている間
var files = event.originalEvent.dataTransfer.files; // Works fine
つまり、jQueryはこの例のFile APIなどのすべてのAPIでネイティブブラウザーイベントをラップしないため、jQueryイベントから除外されたプロパティと関数にアクセスするには、event.originalEvent
を使用する必要があります。それが誰かを助けることを願っています。
jQueryは標準イベントを認識し、さまざまなブラウザーに合わせてそれらを適合させます。しかし、標準イベントがない場合、jQueryはイベントオブジェクトの適合に失敗しますが、ブラウザが元のオブジェクトを提供するフェールセーフoriginalEvent
を保持します。
たとえば、mousewheel
およびDOMMouseScroll
need event.originalEvent
も、ホイールイベントのサポートがないためです。