0

我在 AJAX 加载的内容中使用jCarousel Lite插件:这是(简化的)代码

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 回答