拖拽獲取文件

$(document).on({
                dragleave: function(e) { //拖離
                    e.stopPropagation();//不再派發事件。
                    e.preventDefault();//通知瀏覽器不要執行與事件關聯的默認動作。
                },
                dragenter: function(e) { //拖進
                    e.stopPropagation();//不再派發事件。
                    e.preventDefault();//通知瀏覽器不要執行與事件關聯的默認動作。
                },
                dragover: function(e) { //拖來拖去
                    e.stopPropagation();//不再派發事件。
                    e.preventDefault();//通知瀏覽器不要執行與事件關聯的默認動作。
                },
                drop: function(e) { //拖後放
                    e.stopPropagation();//不再派發事件。
                    e.preventDefault();//通知瀏覽器不要執行與事件關聯的默認動作。
                    console.log(e)
                    var files=e.originalEvent.dataTransfer.files;//e.originalEvent屬性。該方法的作用是指向原始的事件對象(jQuery對event封裝過了)。
                    console.log(files);
                }
});

function readImgFile(file){//將圖片轉化爲base64的字符串
            //判斷是否是圖片類型
            if (!/image\/\w+/.test(file.type)) {
                alert("只能選擇圖片");
                return false;
            }
            var reader = new FileReader();
            reader.readAsDataURL(file);
            reader.onload = function (e) {
                return this.result; 
            }
}


這樣就可以實現拖拽獲取文件的功能,拖拽文件夾也可行。

打印的jQuery的事件對象



打印的files變量



打印的FormData對象



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章