當我通過imageContainer div拖動文件時,爲什麼這裏沒有發生任何事情?沒有在控制檯中,沒有在頁面上,等jQuery/HTML5 FileAPI:爲什麼沒有拖動事件觸發?
<div id="imageContainer" style="height: 724px; width: 100%; "></div>
...
$('#imageContainer').on({
dragenter: function dragEnter() {
console.log('enter');
$(this).css('background-color', 'lightBlue');
},
dragleave: function dragLeave() {
console.log('leave');
$(this).css('background-color', 'white');
},
dragover: false,
drop: function dragDrop (e) {
console.log('drop');
jQuery.each(e.dataTransfer.files, function (index, file) {
var fileReader = new FileReader();
fileReader.onload = (function (file) {
return function (e) {
$(this).append('<div class="dataurl"><strong>' + file.fileName + '</strong>' + e.target.result + '</div>');
};
})(file);
fileReader.readAsDataURL(file);
});
}
});
糟糕!但即使是固定的,這也不是原因。仍然是同樣的問題。 – BrianFreud
^^與之前的答案有關。 :D – BrianFreud
嗯,我一直只使用Chrome瀏覽器至此。我的腳本中有一些東西似乎讓Chrome和Firefox都吞下了任何錯誤,這是不幸的,所以我看不到這一點。在Firefox中,至少會發生藍/白顏色變化,但在Chrome中完全沒有任何變化。重新放棄事件,這個答案特別適用於,我必須猜測,這個答案是正確的;也許代碼本身目前是錯誤的,因爲在Chrome中放置圖像仍然沒有任何效果,並且在Firefox中,它只是像正常一樣將圖像加載爲新頁面。 – BrianFreud