2012-10-16 98 views
6

我使用这个脚本:jQuery的标签,如何防止锚跳

(function() { 
    var tabContainers = $('div.tabs > div'); 
    tabContainers.hide().filter(':first').show(); 
    $(window).bind('hashchange', function() { 
     var hash = window.location.hash || '#first'; 
     tabContainers.hide(); 
     tabContainers.filter(hash).show(); 
     $('div.tabs ul.tabNavigation a').removeClass('selected'); 
     $('a[href=' + hash +']').addClass('selected'); 
    }); 
    $(window).trigger("hashchange"); 
}); 

这部分代码给了我,我需要的一切。例如,要从外部页面打开标签,我使用“index.php#first”href。它打开带有打开确切选项卡的选项卡的页面,但它跳转到锚点,我需要从顶部显示页面。

有谁知道,如何防止此代码锚点跳转?

回答

2

你有没有试过在hashchange函数里面做return false

否则,您可以避免在您的元素上使用真实ID。这样它就不会滚动。

更新: 正如您使用jQuery,您也可以尝试:e.preventDefault。该功能将需要接收e作为参数