外部ドラッグアンドドロップ機能(指定された場所に外部ファイルをドラッグしてその内容をキャプチャ)とjqueryと組み合わせて、html5のファイルapiを使用したいと思います。 (html5 demo: file api)jQueryを使用したhtml5のファイルapiの例?
var drop = document.getElementById('drop');
drop.ondragover = function() {this.className = 'focus'; return false;};
drop.ondragend = function() { this.className = ''; return false; };
drop.ondrop=function(e) {
this.className = '';
e.preventDefault();
var file = e.dataTransfer.files[0];
var reader = new FileReader();
reader.onload = function (evt) {
console.log(evt.target.result);
}
reader.readAsText(file);
};
これは正常に動作します:私は働く非jqueryの例を見つけました。今、私は、これはより多くのjqueryのっぽいしたいと思いますし、私が試した:
$("#drop").bind('ondragover',function() {this.addClass('focus'); return false;})
.bind("ondragend",function() { this.removeClass('focus'); return false;})
.bind("ondrop",function(e) {
this.removeClass("focus");
e.preventDefault();
var file = e.dataTransfer.files[0];
var reader = new FileReader();
reader.onload = function (evt) {
console.log(evt.target.result);
}
reader.readAsText(file);
});
しかし、それは動作しません、バインドさ事象のどれもがトリガ取得するようです。私はまたイベント名の "on"部分を緩めようとしましたが、それもうまくいきません。 ここで誰かが光を照らすことができたらうれしいですか?
については、 がありません。
うん($(この))。とにかくjqueryに行くためには、e.originalEvent.dataTransferを実行して元のイベントを解凍する必要があります。 あなたの答えをありがとう。 –