您好我试图使用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();
任何提示?
编辑:小提琴&gt; http://jsfiddle.net/Nn4x2/4/
答案 0 :(得分:0)
这适用于div
元素,请参阅http://jsfiddle.net/Nn4x2/26/
Firefox中似乎不支持可拖动的输入按钮。最好使用样式化的锚元素。
这被记录为按钮元素的Firefox错误 - 请参阅https://bugzilla.mozilla.org/show_bug.cgi?id=568313