0

更新パネルを介してロードされるコントロールがあり、ユーザーが最初にページをロードしたときに最初に表示されないアイテムがあります。私はこのコントロールでいくつかのjqueryを使用していますが、私が抱えている問題は、コントロール内の要素を再バインドするためにjqueryreadyイベントを起動できない典型的な問題です。コントロールが独自のページにロードされている場合は正常に機能しますが、それがより大きな構造の一部であり、その中に埋め込まれている場合、これは機能していないようです。

pageLoadへのバインドなどのメソッドを試しましたが、機能していないようで、コントロール自体の内部にあるjavascriptコードに関連していると思われます。

   function pageLoad(sender, args) {LoadScripts();}

だから私はこのような構造を持っています

Master page
    Aspx Page
        Update panel
            Other controls
            Control with JQuery

私はあなたが提供できるどんな助けでもありがたいです。

4

1 に答える 1

1

そのような場合に備えて、 jQuery をご覧ください.live(): http://api.jquery.com/live/

例えば:

$('.clickme').live('click', function() {
  // works for AJAX loaded content.
});

それでもうまくいかない場合でも、簡単な解決策があります。スクリプトに ajax コンテンツをロードします。呼び出す必要はありません。loadまたはready、JavaScript を新しい<script>タグで呼び出すだけで、うまく動作します。jQuery は既に読み込まれています。以前に使用したのとまったく同じコードを使用する場合は、その関数を作成して呼び出します。

于 2010-01-13T06:35:40.393 に答える