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>
これらのリンクの 1 つをクリックすると機能しますが、1 回だけです。機能しなくなり、読み込まれたコンテンツにスクリプトが読み込まれません。ロード後、各関数を内部で再宣言する必要があります。このエレガントではない解決策を省略するにはどうすればよいでしょうか?
live
、click
、delegate
およびを試しbind
ました。