【发布时间】:2018-05-18 01:29:33
【问题描述】:
是否可以使<button> (<input type="button">) 在 Mozilla Firefox 中使用 HTML5 拖放功能(同时仍可点击)?
以下sn-p在谷歌浏览器中有效,但是按钮和带按钮的div不能拖动Mozilla Firefox(除非Alt键被按下,不知道移动端):
document.getElementById("myDiv").addEventListener(
"dragstart",
function (e) {
e.dataTransfer.setData("Text", "myDiv")
}
);
document.getElementById("myButton").addEventListener(
"dragstart",
function (e) {
e.dataTransfer.setData("Text", "myButton")
}
);
document.getElementById("myDivWithButton").addEventListener(
"dragstart",
function (e) {
e.dataTransfer.setData("Text", "myDivWithButton")
}
);
<div id="myDiv" draggable="true">Div</div>
<button id="myButton" draggable="true">Button</button>
<div id="myDivWithButton" draggable="true"><button>Div with Button</button></div>
我使用了draggable="true" 和dataTransfer.setData,有什么我遗漏的吗?有什么合理的解决方法吗?
(如果你想知道我需要这个做什么:我有一些东西可以拖动到某个位置或设置在默认位置 [当前视图的中心],我的想法是通过按钮 [ d&d → 选择位置,单击 → 默认位置]。我知道我想我可以尝试格式化 <div> 以使其看起来像 <button> 或简单地将控件拆分为两个元素,但我宁愿不这样做。)
【问题讨论】:
-
这个讨论已经完成here。 FF 中似乎有一个错误会阻止拖动按钮。
标签: javascript html drag-and-drop cross-browser draggable