0

我对 jQuery 的load(). 这是我的代码:

    $('nav#pagination ul li a').live('click', function() {

        var url = $(this).attr('href');

        $(this).parent('li').parent('ul').parent('nav').fadeOut('fast',function() {
            $(this).load(url + ' nav#pagination > *', function() {
                $(this).fadeIn();
            })
        })

        return false;
    })

HTML:

<div class="block" id="onShelf">
        <header class="prefix_1">
            <h2>Na półce</h2>
        </header>
        <div class="inner prefix_1 suffix_1">
            ## normal text ##
            <div class="clear"></div>
            <nav id="pagination" class="clearfix">
                <ul>
                <li><b>1</b></li>
                <li><a href="/page/8"5px;">2</a></li>
                <li><a href="/page/16"5px;">3</a></li>
                <li><a href="/page/24"5px;">4</a></li>
                <li><a href="/page/32"5px;">5</a></li>
                <li><a href="/page/40"5px;">6</a></li>
                <li><a href="/page/8"5px;">→&lt;/a></li>
                </ul>
            </nav>
        </div>
    </div>

当我单击其中一个链接时,它可以工作,但只有一次。它不再起作用,并且不会在加载的内容中加载任何脚本。我必须在加载后重新声明里面的每个函数。我能做些什么来省略这个,嗯,不优雅的解决方案?

我试过了liveclick和。delegatebind

4

1 回答 1

0

尝试使用类似的东西

$(body).on('click', 'nav#pagination ul li a', function () {
    your code here
});

您可以使用任何不可刷新的元素代替正文

于 2012-12-24T07:12:44.860 回答