我遇到了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;">→</a></li>
</ul>
</nav>
</div>
</div>
当我点击其中一个链接时,它可以工作,但只有一次。它不再起作用,并且不会在加载的内容中加载任何脚本。我必须在加载后重新声明里面的每个函数。我该怎么做才能省略这个,好的,不优雅的解决方案?
我尝试了live
,click
,delegate
和bind
。
答案 0 :(得分:0)
尝试使用类似
的内容$(body).on('click', 'nav#pagination ul li a', function () {
your code here
});
您可以使用任何不可刷新的元素而不是body