小编典典
我终于找到了我满意的解决方案。我实际上找到了几种方法来做自己想做的事,但是没有一种方法能像当前解决方案一样成功。在一种解决方案中,由于在#dropzone元素上添加/删除了边框,我经常出现闪烁现象。如果将鼠标悬停在浏览器之外,则不会删除它。
无论如何,我最好的hacky解决方案是这样的:
var dragging = 0;
attachEvent(window, 'dragenter', function(event) {
dragging++;
$(dropzone).addClass('drag-n-drop-hover');
event.stopPropagation();
event.preventDefault();
return false;
});
attachEvent(window, 'dragover', function(event) {
$(dropzone).addClass('drag-n-drop-hover');
event.stopPropagation();
event.preventDefault();
return false;
});
attachEvent(window, 'dragleave', function(event) {
dragging--;
if (dragging === 0) {
$(dropzone).removeClass('drag-n-drop-hover');
<