2011-02-12 5 views
0

ボタンをクリックしてテキストから画像を作成し、親div要素のドラッグ可能なdivに画像を追加するWebページがあります。 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

ありがとうを試してみてください、私はアヤックス[ポストバック]を通じて動的にdiv要素を追加するときに、私が追加されているすべてのdivのためdraggbleを破壊し、解決策を見つけました。$ ( '.draggable')。draggable( 'destroy'); 次に、ライブ関数$( "。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();")を使用して関数を再登録しようとしました。しかし役に立たない。 –

+0

あなたの関数をSys.WebForms.PageRequestManager.getInstance()の中に入れてみてください。add_endRequest(endRequestFunctionHandler); – mehul9595

関連する問題