Я хотел бы использовать файл api html5 в сочетании с функцией внешнего перетаскивания (перетащите внешний файл в указанное место и захватите его содержимое) и jquery.Я нашел работающий не-jquery пример: ( html5 demo: файл 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-иш, и я попытался:
$("#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» для имен событий, но это также не работает.Надеюсь, кто-нибудь здесь может зажечь свет?
С уважением, Йерун.