ondragstart在触发器中不触发
你好,我试图使用jQuery的HTML拖放功能。我生成我拖动(按钮)这样ondragstart在触发器中不触发
$("#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中提到的,但问题依然存在。我也尝试用return false();
替换event.originalEvent.preventDefault();
任何提示?
编辑:小提琴>http://jsfiddle.net/Nn4x2/4/
这一方法在div
元素,看到http://jsfiddle.net/Nn4x2/26/ 看来拖动输入按钮没有在Firefox支持。最好使用样式化的锚元素代替。
这被记录为Firefox的错误的按钮元素 - 见https://bugzilla.mozilla.org/show_bug.cgi?id=568313
是的,我看到了;我只是好奇什么是不相容的。感谢您的链接。无论如何,我想我会使用锚点。谢谢 –
不客气,祝你好运。 –
你能提供的jsfiddle或其他工作的例子吗? –
这里你去http://jsfiddle.net/Nn4x2/4/ –