2013-03-15 75 views
1

我想弄清楚如何做文件拖放。我已經閱讀了大量的教程和例子,並認爲我知道如何去做,但是我無法獲得絕對的基本部分。爲什麼我不能使用jquery進行文件刪除?

這是我目前的代碼。如果我將文件拖到filedropper div上,瀏覽器只是加載文件而不是給我放下警報。我錯過了什麼?

<!DOCTYPE html> 
<html> 
<head> 
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
    <script src="http://code.jquery.com/ui/1.10.1/jquery-ui.js"></script> 
</head> 
<body> 
    <script language='javascript'> 
    $(document).ready(function() { 
     $('#filedropper').on('drop', function(e){ 
      e.preventDefault(); 
      alert('drop'); 
      return false; 
     }); 
    }); 
    </script> 
    <div id='filedropper' style='height:100px;width:100px;background:yellow'></div> 
</body> 
</html> 

回答

2

首先,如果你使用IE瀏覽器,這可能不會在所有的工作。 IE(IE 10除外)不支持文件拖放。

其次,你需要捕捉,防止您的$(document)中的dragover功能。就緒:

$('#filedropper').on('dragover', function(e) { 
    if (e.stopPropagation) { e.stopPropagation(); } // The if checks are excessive but safest 
    if (e.preventDefault) { e.preventDefault(); } 
}); 

This是我的主要參考,當我學習如何做到這一點。

這應該讓你去。

Check it out on JsBin

+0

解決了!謝謝:) – 2013-03-15 22:14:30

+0

如果你訂閱dragenter或dragleave,你也需要在那裏做同樣的事情。 – 2013-06-28 16:37:24

相關問題