2009-05-23 3 views
1

私は成功した要素(のdivのように、パネルの、何でも)のjQueryのこのビットを使用してドラッグを作ることができました:JQueryドラッグアンドドロップは特定のオブジェクトで機能しなくなりますか?

<script type="text/javascript"> 
     $(function() { 
      $(".drag").draggable({ revert: true }); 
     }); 
</script> 

これは、Page_Loadのが行われる前に、既にページ上に存在している何のため正常に動作し、ポストバックが発生する前にクリックしたときにデータベースに呼び出され、画像URLを取得する一連のボタン(「.catbuttons」クラス)があります。いったんこのURLのセットを取得すると、for/nextループを実行し、画像オブジェクト全体を作成してパネルに配置します。それぞれの画像には上記のJQueryで動作させるためのcssclassの '.drag'があります。

問題は、もはやドラッグしないということです。私はポストバック(後で部分的なポストバックさえも)の後にjavascriptのものをリバインドする必要があることについて、ここで別の記事を読んだ。これにより、新しいコントロールが上記のJqueryコードを添付してドラッグ可能にすることができる。一部のGoogle検索の後、私はこれに走ったし、それをテストした:

<script type="text/javascript"> 
     $(".catbuttons").live("click", function(){ 
      $(".drag").draggable({ revert: true }); 
     }); 
</script> 

私は、元のスクリプトと私のaspxページのヘッダーセクションでこれを残し、また、全て自身でここにこれを持ってみました。いずれにしてもサイコロはありません。

思考?

答えて

0

上記の関数は実際には、ユーザーからのクリックを期待して、再度ドラッグを呼び出すことを想定しています。代わりに、ポストバック後に行う必要があります。 ページに画像を配置した後、すべての画像をドラッグ可能な機能で登録するためのルール。

編集:あなたのケースでは ボタンをクリックするだけで、画像を取得する機能をトリガします。それらのイメージはあなたがそれらをdraggablesにする前に、ページに配置する必要があります。実行時に&を ".drag" cssclassをそれらのオブジェクト/イメージに適用したステートメントの直後に、作成したオブジェクトをdraggablesで登録できます。

+0

ボタンの実際のクリック機能は、ランタイム中にイメージを生成するものです - それは私が持っているはずの別の場所ですか?ボタンをクリックするまで画像はありません。作成したオブジェクトに実行時に「.drag」cssclassをオンザフライで適用します。私はこれについて間違った方法をとっていますか? –

+0

この方法については何も間違っていません。編集を参照してください。私はあなたの説明を正しく理解することを願っています。 – simplyharsh

関連する問題