2011-02-12 114 views
0

我有一個網頁,我通過點擊按鈕從文本創建圖像,並將圖像添加到父div元素中的可拖動div。該div在更新面板中。這個事件之後,divs可以拖動。我有另一個按鈕,它可以暫時保存html,並在添加另一個圖像 - >文本時用它們的位置重新創建div。然而,在這個事件發生後,所有舊的div都會丟失他們的拖拽屬性,最後一個div也保留了可拖動的屬性。IE AJAX刷新後Jquery拖動停止

$(".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中。

回答

1

謝謝你們的建議,我找到了解決辦法,當我通過AJAX [回傳]動態添加的div,我破壞draggble對於已添加的所有div。$ ( '.draggable ')拖動(' 破壞'); 然後使用實時函數$(「。draggable'」)重新分配可拖動函數(live('mousedown click',function(){...}); 完美地工作。

+0

如果這是答案,你應該把它標記爲接受:) – mehul9595

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'); } }); }); }

+0

謝謝你,我曾嘗試過,但似乎沒有工作。我嘗試使用ScriptManager.RegisterStartupScript(this.Page,this.GetType(),Guid.NewGuid()。ToString(),「Test();」,true);重新註冊函數。但無濟於事。 –

+0

嘗試把你的函數放在Sys.WebForms.PageRequestManager.getInstance()。add_endRequest(endRequestFunctionHandler)中; – mehul9595