JavaScriptでファイルドロップイベントを取得する
ローカルからブラウザへのファイルドロップイベントを拾おうとしたらdropイベントのみ設定しても拾えなかったのでメモ。
※ブラウザはChrome31で他のはしらない(
target_div.addEventListener( 'drop', function( evt ) { console.log( 'hoge' ); // //evt.dataTransferとかでドロップしたファイルの情報を取得するよ // evt.preventEvent(); }, false );
上のコードだけだとイベント拾えない。
どうもdragoverの時点でファイルの種類によってドロップ時のイベントが決まってる様に見える。
dragoverのイベントを無効にしないと自分のdropイベントが拾えないぽい。
target_div.addEventListener( 'dragover', function( evt ) { evt.preventEvent(); }, false );
一緒に書いてあげるとdropイベントがちゃんと拾えました。