<a>
代わりに要素にハンドラーをアタッチします<li>
$('#info-nav li a:first').click(function(e) {
$('#info div').hide();
$('#info-nav .current').removeClass("current");
$(this).closest('li').addClass('current');
var clicked = $(this).attr('href');
$('#info ' + clicked).fadeIn('fast');
e.preventDefault();
}).eq(0).closest('li').addClass('current');
そのため、DOMready
イベント時に URL のハッシュを ( を使用して) 読み取り、href 属性がそのハッシュと等しい要素でイベント (または を使用したハンドラー)location.hash
をトリガーします。click
.triggerHandler()
$(function() {
var hash = location.hash, tgt = $('a[href="' + hash + '"]');
if (hash !== '' && tgt.length) {
tgt.trigger('click');
}
});
イベントで同じ関数を呼び出しwindow.onhashchange
ます(提供しているリンクが実際にページ全体を変更していない場合)
$('window').bind('hashchange', function() {
var hash = location.hash, tgt = $('a[href="' + hash + '"]');
if (hash !== '' && tgt.length) {
tgt.trigger('click');
}
});