标签内的href链接没有做任何事情

时间:2013-12-15 20:19:30

标签: javascript php jquery twitter-bootstrap

我正在使用以下代码作为我的引导选项卡,以便在网址中包含选项卡的#name,因为我想在完成一些帖子操作后重定向到特定选项卡,这样可以正常工作。

然而,自从我开始使用代码以来,所有其他链接都停止了做任何事情,它没有打开页面或显示错误,什么都没有。

这是我的代码:

$(function() {
var gotoHashTab = function (customHash) {
    var hash = customHash || location.hash;
    var hashPieces = hash.split('?'),
    activeTab = $('[href=' + hashPieces[0] + ']');
    activeTab && activeTab.tab('show');
}

// onready go to the tab requested in the page hash
gotoHashTab();

// when the nav item is selected update the page hash
$('.nav a').on('shown.bs.tab', function (e) {
    window.location.hash = e.target.hash
    //location.hash = $(e.target).attr('href').substr(1);
    scrollTo(0,0);      
})

// when a link within a tab is clicked, go to the tab requested
$('.tab-pane a').click(function (event) {
    if (event.target.hash) {
        e.preventDefault();
        gotoHashTab(event.target.hash);
    }
})

$('.tab-pane a').on('click', function(e){
    e.preventDefault() 
})

});

我注意到其他一些问题,e.preventDefault()可能会导致这种情况,但是当我发表评论时,没有任何事情发生。

如何重写代码以保持功能但让这些普通链接再次运行?

1 个答案:

答案 0 :(得分:0)

正在查看与此相关的所有链接:

  activeTab = $('[href=' + hashPieces[0] + ']');

更改为:

activeTab = $('.tab-pane [href=' + hashPieces[0] + ']');

并且还尝试使用.nav更具体,因为.nav是所有导航的默认设置。所以这个:

$('.nav a').on('shown.bs.tab', function (e) {

应改为:

 $('.tab-pane a').on('shown.bs.tab', function (e) {