javascript - 在 Firefox 中拖动元素时出现问题

标签 javascript jquery html firefox drag-and-drop

即使属性 draggable="true",图像在 Firefox 中也无法拖动,是否有任何原因?我正在 JS 中设计一个图像交换脚本,但在 Firefox 中运行它时遇到一些问题。虽然代码在 Chrome、Edge 和 IE 中运行良好,但当我尝试在 Firefox 中拖放图像时,浏览器似乎不允许我拖动图像(不会出现重影图像),因此我的拖动事件没有触发或触发任何放置事件。我通过 document.createElement('img') 生成图像并使用

设置属性
imgElement.setAttribute('draggable', true);
imgElement.setAttribute('ondragstart', 'drag(event)');

我的拖动功能:

function drag(ev) {
 if (!ev.target.classList.contains(clickClass)) {
  return;
 }

 ev.dataTransfer.setData("text", ev.target.id);
 document.getElementById(ev.target.id).parentElement.setAttribute('class', 'noclick');
};

我在另一个问题中读到,如果数据未传输,则拖动事件可能不会在 Firefox 中触发,但是,这似乎不是这里的问题。

最佳答案

您应该添加 dragstart 监听器,而不是 imgElement.setAttribute('ondragstart', 'drag(event)');:

imgElement.addEventListener('dragstart', function(e){
    drag(e);
});

关于javascript - 在 Firefox 中拖动元素时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41404762/

相关文章:

javascript - 试图构建一个松弛的机器人并面临错误 "Error: not_allowed_token_type"

javascript - Greasemonkey 是否允许通过@require 加载本地javascript?

javascript - 为什么一个简单的 JS 自动点击器会破坏页面?

javascript - 如何使用 esri leaflet 从动态图层中获取正确的信息

javascript - jQuery 验证依赖于组并需要

html - 如何找到css的图像路径

javascript - HTML 导航栏有时在 IE 中损坏(在 IE8、9 和 10 中测试)

javascript - 将选择框选项值设置为对象的代码

javascript - jQuery 单选按钮检查添加类,否则如果单选按钮未选中则删除类?

javascript - 能用js切换html页面吗?