Twitter引导标签location.hash更改问题

时间:2013-03-15 06:30:31

标签: javascript jquery twitter-bootstrap

我正在尝试在window.load上加载特定的twitter引导程序选项卡

$(function () {

    if (location.hash !== '') {
        $('#myTab a[href="' + location.hash + '"]').tab('show');
    } else {
        $('#myTab a:first').tab('show');
    }

    $('#myTab a[data-toggle="tab"]').on('shown', function(e) {
          location.hash = $(e.target).attr('href').substr(1);
          return false ;
    });
})

此代码工作正常。我的问题是跳转到特定的tab div内容,我如何禁用twitter bootstrap选项卡的浏览器的默认位置哈希更改事件。我应该对上面的代码做些什么改变?

1 个答案:

答案 0 :(得分:5)

@marijn评论说,我在哈希中添加了一个前缀,它没有引用该页面上的任何DOM元素

if (location.hash !== '') {
    $('#myTab a[href="' + location.hash.replace('tab_','') + '"]').tab('show');
} else {
    $('#myTab a:first').tab('show');
}

$('#myTab a[data-toggle="tab"]').on('shown', function(e) {
      location.hash = 'tab_'+  e.target.hash.substr(1) ; 
      return false ;
});