2013-03-15 50 views
1

我想對window.loadTwitter的引導標籤的location.hash變化問題

$(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 ; 
    }); 
}) 

此代碼工作正常加載特定的Twitter的引導標籤。我的問題是有到特定的標籤div的內容,我怎麼能禁用瀏覽器的默認位置哈希變化事件爲twitter引導選項卡。我應該對上面的代碼做些什麼改變?

+0

我們可以看到一些工作小提琴上的任何DOM元素,使我們可以檢查什麼是確切的問題?? – supersaiyan 2013-03-15 06:51:26

+0

@Sachin ..我得到了解決方案! $('#myTab a [href =''+ location.hash.replace('tab_','')+'「]')添加了一個前綴,所以哈希值不會引用該頁面上的任何DOM元素。 .tab('show')'!謝謝 – rab 2013-03-15 06:56:18

+0

@rab請將此添加爲您的問題的答案(稍後再接受),以便這裏的每個人都知道您的問題已解決。 – Marijn 2013-03-15 08:14:28

回答

5

@marijn評論,我已經加了前綴的散列,不引用頁面

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 ; 
}); 
+0

絕妙的主意!它對我來說也很好。 – 2013-07-16 09:18:08