読者です 読者をやめる 読者になる 読者になる

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イベントがちゃんと拾えました。