【发布时间】:2013-08-06 21:10:22
【问题描述】:
似乎有几个问题在问这个问题,但没有人接受答案,也没有对我有用。
我有一个“组”按钮,当单击它时,将动态创建一个“组”div(然后我在其中附加一些预先选择的“子”div)
但是我需要新的“组”div 是可拖动的。
我可以动态设置draggable属性,没问题。
但是,如果没有 ondragstart() 事件,可拖动并没有多大好处,而且无论我尝试了什么,我都无法得到这个分配。
我正在使用可能有影响的 jQuery。
我的代码的最新迭代是(这出现在从 body.onload 调用的 init() 函数中):
var group=$(document.createElement('div'));
group.attr({id: 'group'+grpcount});
group.attr({draggable: "true"});
group.addClass('group');
group.html("<span class='group'>Group"+grpcount+"</span>");
$('#boundary').append(group);
document.getElementById('group'+grpcount).addEventListener("startdrag",drag);
但我也尝试过 jQuery .bind 的各种组合:
group.bind("dragstart", drag(ev));
group.bind("dragstart", function(ev){drag(ev);});
一切都无济于事。
我已经定义了一个拖动功能(我已经尝试将它放在上面的代码之前和之后):
function drag(ev) {
ev.dataTransfer.setData("Text",ev.target.id+":"+ev.pageX+":"+ev.pageY);
}
我希望有一些我看不到的非常明显的东西。
有人可以解决这个问题吗?
【问题讨论】:
-
group.bind("dragstart", function(ev){drag(ev);});应该可以正常工作。group.bind("dragstart", drag);也应该如此。请参阅:jsfiddle.net/K4hgw。 -
你能提供一个jsfiddle的例子吗?
标签: javascript jquery dom javascript-events