jQuery选项卡,如何防止锚点跳转

6
我使用这个脚本:
(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”超链接来从外部页面打开选项卡。它可以打开带有特定标签的页面,但是会跳转到锚点,而我需要显示整个页面而不是跳到锚点处。
有人知道如何防止此代码中的锚点跳转吗?
1个回答

2

你尝试在hashchange函数中使用return false吗?

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

更新: 由于你正在使用jQuery,你也可以尝试使用:e.preventDefault。该函数需要接收e作为参数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接