我试图处理Ajax Dom Elements Loaded上的dragstart事件但是不起作用。 以下是我如何处理Dragstart事件以获取要移动的元素的ID:
$(document).on(".dragItem", "dragstart", function (ev) {
ev.originalEvent.dataTransfer.setData("text", ev.target.id);
});
对于页面上加载的任何元素,Dragstart由上面的代码处理。
但是,当我稍后在代码中使用JS创建一个Html div时,事件不会响应。
<div class="dragItem" draggable='true'>My Drag Item </div>
实际上我通过jquery Ajax接收JSON数据,然后使用HTML Created更新DOM。
答案 0 :(得分:0)
我能够解决我的问题。一旦使用格式化为HTML的JSON数据更新DOM,我创建一个指向新插入元素的jquery对象,然后重新应用dragstart事件处理。
$("#cellphonestock").html(total);
var d = $("#cellphonestock .dragItem");
d.on( "dragstart", function (ev) {
ev.originalEvent.dataTransfer.setData("text", ev.target.id);
});