tbody > tr").append(($("")).append($("", {type:-6ren">
gpt4 book ai didi

javascript - ondragstart 在 Firefox 中未触发

转载 作者:行者123 更新时间:2023-11-28 05:10:06 27 4
gpt4 key购买 nike

您好,我正在尝试使用 jquery 的 html 拖放功能。我像这样生成可拖动(按钮)

$("#tb > tbody > tr").append(($("<td>")).append($("<input/>", {type:"button", id:"bt", draggable:"true", value:"test", class:"bt-test"}))).append($("</td>"));

到目前为止,在阅读了一些有关该主题的内容后,我正在尝试处理这样的不同事件:

$(document).on("dragstart", ".bt-test", function(evt)
{
evt.originalEvent.dataTransfer.setData("text", $(this).val());
alert(evt.originalEvent.dataTransfer.getData("text"));
evt.originalEvent.preventDefault();
});
$(document).on('dragenter', function(evt){evt.originalEvent.preventDefault();});
$(document).on('dragleave', function(evt){evt.originalEvent.preventDefault();});
$(document).on('dragover', function(evt){evt.originalEvent.preventDefault();});


// still irrelevant at this point
$(document).on("drop", ".btCase", function(evt)
{
var data = evt.originalEvent.dataTransfer.getData("text");
$(this).val(data);
event.originalEvent.preventDefault();
});

dragstart 监听器中的警报在 Chrome 上显示得很好,但在 Firefox 上则不然。

我已经尝试将 ondragstart="dragstart_handler(event);" 直接添加到我的按钮中,如 https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API 中所述。但问题仍然存在。我还尝试将 event.originalEvent.preventDefault(); 替换为 return false();

有什么建议吗?

编辑: fiddle > http://jsfiddle.net/Nn4x2/4/

最佳答案

这适用于 div 元素,请参阅 http://jsfiddle.net/Nn4x2/26/Firefox 似乎不支持可拖动的输入按钮。最好改用样式化的 anchor 元素。

这被记录为按钮元素的 Firefox 错误 - 请参阅 https://bugzilla.mozilla.org/show_bug.cgi?id=568313

关于javascript - ondragstart 在 Firefox 中未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41445158/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com