我希望能夠檢測用戶何時將文件拖入窗口並彈出覆蓋整個應用程序的覆蓋圖,以顯示用戶可以上傳文件的各種文件夾。如何處理文件拖放與窗口覆蓋和多個拖放區域?
到目前爲止,我知道我可以聽到「dragenter」窗口並顯示我的覆蓋圖,並聽取覆蓋「dragleave」以隱藏它,但問題似乎是拖過拖放區導致疊加層的dragleave事件觸發,這會使疊加層隱藏(這會使窗口dragenter事件顯示疊加層,等等)。
我爲我的文件夾dropzones使用Dropzone.js。我環顧四周,看到類似的問題,但沒有解決這個問題。
編輯:我發現(各種)中的溶液在別處在計算器上:jQuery Drag-and-Drop Flickering on Hover (Webkit only)
的解決方案是檢查dragleave事件,並且如果pageX屬性和pageY都爲0,則這意味着dragleave是因爲用戶離開了窗戶,而不是拖着其中一個下拉區。
對於其目的是要顯示的疊加?要停止文件上傳? –
該頁面默認顯示已上傳的文件。當用戶將文件拖放到屏幕上時,疊加層將顯示可以上傳的可用文件夾(有點像imgur.com處理文件上載疊加層,除了多個下拉框和全局下拉區)。 因此,疊加的目的是向用戶顯示文件夾下拉框。 –
你只是想顯示覆蓋或期待用戶輸入,如從覆蓋選擇文件夾? –