jQuery Tabs,如何防止锚跳转

Ale*_*cht 6 hash jquery tabs

我用这个脚本:

(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");
});
Run Code Online (Sandbox Code Playgroud)

这部分代码为我提供了所需的一切.要从外部页面打开选项卡,我使用"index.php#first"href,例如.它打开页面,其中包含打开确切选项卡的选项卡,但它会跳转到锚点,我需要从顶部显示页面.

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

Car*_*z T 2

您是否尝试过return false在 hashchange 函数内部进行操作?

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

更新:当您使用 jQuery 时,您也可以尝试使用:e.preventDefault。该函数需要接收e作为参数