こんにちは、jqueryでhtmlドラッグ&ドロップ機能を使用しようとしています。私はこれまでのところ、このondragstartがFirefoxで起動しない
$("#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リスナ内の警告はクロムにはうまく表示されますが、Firefoxでは表示されません。
https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_APIに記載されているように、すでにondragstart="dragstart_handler(event);"
を直接ボタンに追加しようとしましたが、問題は残ります。私もevent.originalEvent.preventDefault();
をreturn false();
と置き換えようとしました
ヒントはありますか?
編集:フィドル>http://jsfiddle.net/Nn4x2/4/
あなたがJSFiddleや他の実施例を提供することができます参照してください? –
ここに行くhttp://jsfiddle.net/Nn4x2/4/ –