0

AJAXがロードされたコンテンツでjCarouselLiteプラグインを使用しています:これが(簡略化された)コードです

HTML:

<div id="#content">
    <ul>
        <li>First Item</li>
        <li>Second Item</li>
        <li>ThirdItem</li>
    </ul>
    <div id="pager>
        <a href="#" class="p1">1</a>
        <a href="#" class="p2">2</a>
        <a href="#" class="p3">3</a>
    </div>
</div>

jQuery:

$('.ajax').click(function(){
    var url = $(this).attr('href');
    $('#content').load(url, null, function(response){
        if (response != '') {
            $('#content').jCarouselLite({
                visible: 1,
                scroll: 1,
                circular: false,
                btnGo: ['.p1', '.p2', '.p3']
            });
        }
    });
    return false;
})

これまでのところ、すべて問題ありません。AJAXコンテンツが#contentに読み込まれ、jCarousel Liteがアタッチされ、#pagerリンクが正常に機能します(アイテムをスクロールするだけです)。

ここで、#pagerリンクにさらにいくつかのものを追加したいと思います(クラスを追加したり、アラートを開いたりするなど)。コンテンツはAJAXで読み込まれるため、.live関数を使用します。

$('#pager a').live('click', function(e){
    alert('hello!');
    $('#pager a').removeClass('selected');
    $(this).addClass('selected');
})

まあ、何も起こりません!
jCarouselスクリプト(jQueryコードの5〜10行目)を削除すると、すべてが再び機能します

どうか、それを機能させるのを手伝ってもらえますか?そして、なぜjCarouselは.liveの動作を停止するのですか?回避策はありますか?

前もって感謝します

4

1 に答える 1

0

とった!
#pagerリンクだけが機能していないことがわかったので、jCarousel Liteプラグインコードを見て、264行目(jcarousellite_1.0.1.js)を変更しました。

$(val).click...

$(val).live...
于 2012-01-13T04:49:35.047 に答える