48

私は現在、jQuery ラーニング センターに没頭しています。最初から最後まで行きます。

私はちょうどこの段落を読みました:

イベント オブジェクトには というプロパティが含まれていることにも注意してくださいoriginalEvent。これは、ブラウザ自体が作成したイベント オブジェクトです。jQuery は、このネイティブ イベント オブジェクトをいくつかの便利なメソッドとプロパティでラップしますが、場合によっては、たとえば、元のイベントにアクセスする必要がありevent.originalEventます。これは、モバイル デバイスやタブレットでのタッチ イベントに特に役立ちます。

最後の文、「これはモバイル デバイスやタブレットでのタッチ イベントに特に役立ちます。」、 本当に私の興味をかき立てました。しかし、これは学習センターがoriginalEventこれまで行ってきたことと同じです。

event.originalEvent特にタッチイベント/モバイルデバイスに関連する、より集中的な研究/実践のための優れたリソースを知っている人はいますか?

4

3 に答える 3

52

event.originalEvent通常は単なるネイティブです(ここeventでも説明されています)。

ただし、ブラウザに互換性があり、イベントが であったtouch event場合、その API は を通じて公開されますevent.originalEvent

簡単にevent.originalEvent言えば、これは常に同じというわけではなく、どのイベント タイプがハンドラーをトリガーしたか、およびブラウザーの環境によって異なります。

于 2013-05-21T16:33:57.373 に答える
16

ドロップイベントを使用してドラッグアンドドロップでドロップされたファイルのインスタンスを取得しようとしていた問題を使用する必要があったケースがあり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 のようなすべての API でネイティブ ブラウザー イベントをラップしないので、jQuery イベントから除外されたプロパティと関数にアクセスするには、event.originalEvent. それが誰かを助けることを願っています。

于 2015-07-23T10:11:16.250 に答える
3

jQuery は標準イベントを認識しており、さまざまなブラウザーに対応しています。しかし、標準イベントがない場合、jQuery はイベント オブジェクトの適合に失敗しますがoriginalEvent、ブラウザーによって提供された元のオブジェクトを保持するフェールセーフがあります。

たとえばmousewheel、ホイールイベントはサポートされていないため、DOMMouseScroll必要もあります。event.originalEvent

于 2015-10-24T16:23:42.777 に答える