24

originalEventJavaScriptでの の使用を理解するのを手伝ってくれる人はいますか? それに関する適切なドキュメントのソースが本当に見つかりません。

Google の検索結果から、初心者には理解するには複雑すぎるディスカッション サイトにたどり着きました。

私は最近 SO で質問がありましたが、ある人がこのコード行を追加して答えました。

$("#url").bind('paste', function(e) {
    var val = e.originalEvent.clipboardData.getData('text/plain');
 ....

ところで働いていた私の既存のコードに。

誰かが私にそれの使用を理解するのを手伝ってくれるなら、私は大いに感謝します.

4

3 に答える 3

28

$() 関数の元になる jQuery という JavaScript ライブラリを使用しています。jQuery は JavaScript のいくつかの部分をラップして、使いやすくしています。それらの部分の 1 つはイベント処理です。あなたの例では、貼り付けイベントにバインドするために jQuery を使用しているため、コールバック (e) に​​渡されるオブジェクトは、組み込みの JavaScript イベント オブジェクトではなく、jQuery イベントオブジェクトです。jQuery イベント オブジェクトはoriginalEventプロパティを公開して、基になる組み込みイベント オブジェクトにアクセスできるようにします。

あなたの例では、クリップボードのデータを取得する必要がありますが、これは jQuery イベント オブジェクトでは利用できないため、元のイベント オブジェクトにアクセスして取得する必要があります。

于 2013-10-27T12:27:23.407 に答える
2

特定のイベントには、それらに固有のプロパティがある場合があります。これらは、event.originalEvent オブジェクトのプロパティとしてアクセスできます。

ソース: jQuery イベント オブジェクト

あなたの例では、イベントclipboardDataのプロパティは経由でアクセスされます。pasteevent.originalEvent

于 2013-10-27T12:18:14.153 に答える
2

まあ...originalEvent私の知る限り、JavaScriptから直接ではありません。ブラウザによってトリガーされるものです。Jquery はさらにいくつかのプロパティをラップし、ブラウザからの元のイベントは でラップされoriginalEventます。これは私がjqueryサイトから見つけたものです。

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

于 2013-10-27T12:20:41.927 に答える