javascript - 禁止将图像从桌面拖动到 html

标签 javascript html drag-and-drop

我试图实现一个简单的 HTML5 拖放图像 uploader ,一切运行良好。我在 html 中有一个小 div,带有一个简单的 js 事件处理程序,如下所示

$('#uploader').on('dragover', function(e){
  ...
}).on('dragenter', function(e){
  ...
}).on('dragleave', function(e){
  ...
}).on('drop', function(e){
  ...
})

唯一的小问题是,如果一个人错过了该 div 并意外地将其图像放到了该 div 之外,则浏览器会执行默认事件(在同一选项卡中打开图像),这并不是很好。

我尝试通过这样做来禁用此功能

$(elem).on('drop', function(e){
    if (e.originalEvent.preventDefault) e.originalEvent.preventDefault();
    if (e.originalEvent.stopPropagation) e.originalEvent.stopPropagation();
    return false;
})

我尝试了不同的元素,如文档、正文、另一个父 div,但如果该人缺少上传者 div,浏览器会在另一个页面中打开图像。我还尝试在 HTML 标记中的元素上添加 droppable = 'false' 但结果相同。

有什么办法可以阻止这种行为吗?

最佳答案

尝试阻止拖拽事件

$(document).on('dragover drop', function(e){
  return false;
});

关于javascript - 禁止将图像从桌面拖动到 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21768899/

相关文章:

javascript - HTML5 拖放 - 将选择文本拖放到可放置元素中

javascript - 动态重复模型

javascript - AJAX重载方法?

javascript - 如何将 Balloonpanel 插件集成到我的编辑器中?

html - Ebay 模板 - 图像缩略图

html - 如何在上面有文字的图像上创建深色透明叠加层

javascript - react native ScrollView 中的scrollTo 的替代方案

javascript - 如何在javascript中设置弹出文本的格式?

windows - Qt - QTableWidget 不接受放置

javascript - 将家具拖放到房间中