3

重複の可能性:
jquery 関数を ajax コンテンツに適用する

ファンシーボックスを.on経由でロードされたajaxコンテンツにバインドすることに関する記事を読みました

問題は、内部 DIV をリロードするたびにプラグインをアクティブにする必要があることです。

ここに私のHTMLがあります:

<div id="page">
 <div id="ajax_container">
  content with selectboxes
 </div>
</div>

ここに私のJSがあります

jQuery("#page").on("focus", function(){
jQuery("select").selectbox({
        effect: "fade"
 }); // selectbox
}); // on

選択ボックスを変換するには、コンテンツをマウスで動かす必要があります。他の作業イベントは見つかりませんでした。さらに、SELECT の変換にはかなりの時間がかかります。

読み込まれたすべての AJAX コンテンツが、プラグインが適用された状態で表示されるのはなぜですか?

注: AJAX リクエストは別の js-framework/ruby によって行われます

4

1 に答える 1

1

selectboxこのように ajax リクエストの成功コールバック内にバインドできます

$.post('URL',{data:data},function(data){
                $(data).appendTo('#ajax_container').filter('select').selectbox({
                   effect: "fade"
                });
});

働くフィドル

そのajax成功コールバックでプラグインを初期化できないため、グローバル成功コールバックを登録でき、それが機能する可能性があります。これをチェックして

$('body').ajaxSuccess(function(){
   $('select').selectbox({
                       effect: "fade"
                    });
});

詳しくは.ajaxSuccess

于 2012-06-12T16:41:34.843 に答える