我正在尝试实现与 imgur.com 类似的拖放图像上传功能。您从桌面拖动图像,当您拖动文档时,会出现一个带有“上传”字样的大覆盖 div。
我的问题是,当我拖动 h1 标签内的实际单词“上传”时,屏幕会闪烁。发生这种情况是因为我有一个 dragleave 事件来删除带有上传 h1 标签的覆盖 div 但是我不知道如何修复它。
您可以在此处看到问题的实际效果:JS Fiddle,只需将任何图像从桌面拖到文档并将鼠标悬停在“上传”一词上,您就会看到我在说什么。任何帮助,将不胜感激。
HTML:
<!DOCTYPE html>
<html>
<head>
<title>Drag and Drop</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
</head>
<body>
<div id="upload-global-drop-overlay" style="display: none;"><h1>upload</h1></div>
</body>
</html>
Javascript代码:
$(document).on('dragover', function () {
$('#upload-global-drop-overlay').css({'display': 'block'});
});
$('#upload-global-drop-overlay').on('dragleave', function () {
$('#upload-global-drop-overlay').css({'display': 'none'});
});
$(document).on('drop', function (e) {
$('#upload-global-drop-overlay').css({'display': 'none'});
e.preventDefault();
});
</p>