0

我有一个网页,我通过单击按钮从文本创建图像并将图像添加到父 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 中。

4

2 回答 2

1

谢谢您的建议,我找到了解决方案,当我通过ajax [postback]动态添加div时,我销毁所有已添加的div的draggble。$('.draggable').draggable('destroy'); 然后使用 live 函数重新分配可拖动函数 $(".draggable'").live('mousedown click', function() {...}); 完美运行。

于 2011-02-18T05:49:29.183 回答
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'); } }); }); }

于 2011-02-12T11:06:27.277 回答