0

jquery load 関数を使用して div の内容を更新しています。

divを非表示にすることから始めます

$('.dashboard-body').fadeOut(50);

次に ajax load - コンテンツを更新します

load イベントの後、更新された div がまだ非表示になっている間に、コンテンツのページネーション リンクの 1 つをクリックしたいと思います。次に、div が再び表示されると、正しいコンテンツが表示されます。

動作しないコードを次に示します。Livequery プラグインを DOM の新しい要素のリスナーとして使用しています。

$('.dashboard-body').load(target, function(){
                $('.pagination ul li a').livequery(function(){
                    $(this).each(function(){
                        var target_page = $(this).html();
                        if(target_page == return_page){
                            $(this).click();
                        }
                    });
                });

                $('.dashboard-body').fadeIn('slow',function(){
                    //success
                });

            });

私の頭の中の上記のコードは、次のことを行います。

クラス dashboard-body を使用して、ターゲット ページを div に読み込みます。

livequery を使用して dom にロードされた新しいページネーション リンクをリッスンします。

次に、見つかった各リンクを反復処理します

リンクの数値を見つけます。1、2、3.... を潜在的なターゲット ページ番号として定義します。

次に、ターゲット ページと戻りページ番号 (定義済みの変数) が等しい場合。このリンクをクリックしてください。

すべてが機能しているようで、コンソールを使用すると、このステートメントが表示されます...

if(target_page == return_page){

期待どおりに1回trueですが、要素が存在しないかのようにクリックイベントは発生しませんが、それらを反復するだけで実行する必要があります。

何が間違っているのかわかりませんか?またはより良い方法はありますか?

4

2 に答える 2

0

クリックイベントハンドラー用にこのコードを追加する必要がありました

$('body').on('click','.pagination ul li a',function(event){
于 2013-04-24T11:27:58.933 に答える