我有一个网页,我通过单击按钮从文本创建图像,并将图像添加到父div元素中的可拖动div。 div位于更新面板中。在此事件发生后,div可以拖动。我有另一个按钮暂时保存html并在我添加另一个图像>文本时重新创建其位置的div。然而,在这个事件之后,所有旧的div都失去了他们的拖拽属性,最后添加的div仍然保留了可拖动的属性。
$(".inner").live('mousedown', function() {
$(this).draggable({
containment: "#<%=divMain.ClientID%>",
cursor: "move",
stop: function(event, ui) {
var position = $(this).position();
$(this).css("top", position.top + 'px');
$(this).css("left",position.left + 'px');
}
});
});
这是我目前的职能。请指教!这在Firefox和Chrome中完美运行。问题仅出现在IE中。
答案 0 :(得分:1)
谢谢您的建议,我找到了解决方案,当我通过ajax [postback]动态添加div时,我销毁所有已添加的div的draggble。$('。draggable')。draggable('destroy' ); 然后使用实时函数$(“。draggable'”)重新分配可拖动函数.live('mousedown click',function(){...}); 效果很好。
答案 1 :(得分:0)
这是因为jquery在部分回发后丢失了它的事件。 尝试使用这种方式,
function pageLoad()
{
$(".inner").live('mousedown', function() { $(this).draggable({ containment: "#<%=divMain.ClientID%>", cursor: "move", stop: function(event, ui) { var position = $(this).position(); $(this).css("top", position.top + 'px'); $(this).css("left",position.left + 'px'); } }); });
}