結論
event.originalEvent
で取れる。
解説
jQueryのイベント便利ですよね。
一気に複数イベント登録できたり.once
や名前空間など様々な機能があって便利です。
しかし、ドラッグアンドドロップイベントのdataTransfer
や、コピーアンドペーストのclipboardData
などはjQueryのevent
では直接使えません。
例
$("#editor").on("paste", function(event){
alert(event.clipboardData.getData("text/plain") + "をペーストするよ!");
});
// => エラー!!
このとき関数に渡される引数はjQueryの独自のイベントオブジェクトなのです。
ブラウザ間で差異がないようよしなにやってくれてるわけですが、addEventListener
などで渡されるオリジナルのイベントオブジェクトが欲しいです。
実は、このオリジナルのイベントオブジェクトは、jQueryのイベントオブジェクトのoriginalEvent
プロパティで参照できるようになっています。
なので、上記のコードは、
例
$("#editor").on("paste", function(event){
alert(event.originalEvent.clipboardData.getData("text/plain") + "をペーストするよ!");
});
のように直すと動きます。