以下内容适用于Chrome和FF,但我还没有找到涵盖IE10 +的解决方案:
// dragover and dragenter events need to have 'preventDefault' called// in order for the 'drop' event to register.// See: https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Drag_operations#droptargetsdropContainer.ondragover = dropContainer.ondragenter = function(evt) { evt.preventDefault();};dropContainer.ondrop = function(evt) { // pretty simple -- but not for IE :( fileInput.files = evt.dataTransfer.files; // If you want to use some of the dropped files const dT = new DataTransfer(); dT.items.add(evt.dataTransfer.files[0]); dT.items.add(evt.dataTransfer.files[3]); fileInput.files = dT.files; evt.preventDefault();};<!DOCTYPE html><html><body><div id="dropContainer" > Drop Here</div> Should update here: <input type="file" id="fileInput" /></body></html>您可能想要使用
addEventListener或jQuery(等)注册您的evt处理程序-这只是为了简便起见。



