Javascript 在所选选项卡上重新加载不会';我不在IE工作
我的网页上有两个标签:付款和对账单。 我使用以下代码在重新加载同一页面时自动切换到所选选项卡Javascript 在所选选项卡上重新加载不会';我不在IE工作,javascript,jquery,internet-explorer-11,Javascript,Jquery,Internet Explorer 11,我的网页上有两个标签:付款和对账单。 我使用以下代码在重新加载同一页面时自动切换到所选选项卡 $('#advancedSearchTabs a').click(function(e) { e.preventDefault(); $(this).tab('show'); }); // store the currently selected tab $("ul.nav-tabs > li > a").on("shown.bs.t
$('#advancedSearchTabs a').click(function(e) {
e.preventDefault();
$(this).tab('show');
});
// store the currently selected tab
$("ul.nav-tabs > li > a").on("shown.bs.tab", function(e) {
var id = $(e.target).attr("href").substr(1);
window.location.hash = id;
});
// on load of the page, switch to the currently selected tab
var hash = window.location.hash;
$('#advancedSearchTabs a[href="' + hash + '"]').tab('show');
这适用于除Internet Explorer 11之外的所有浏览器。在那里,我总是跳回第一页。如何在Internet explorer中执行此操作确保您正确获取IE的事件目标
$("ul.nav-tabs > li > a").on("shown.bs.tab", function(e) {
var target = e.target || e.srcElement; //srcElement for IE
var id = target.getAttribute("href"); //No need for jQuery here
history.pushState('','',id); //Try pushState
});
var hash = (location.href.split("#")[1] || ""); //Crossbrowser compatible
$('#advancedSearchTabs a[href$="' + hash + '"]').tab('show'); //Add $ to href attribute ends with "hash"
我添加了您的一行附加代码,但它不起作用。如果在新行之后使用
console.log(target)
,控制台中会有什么内容?会显示正确的href,但我仍会转到“付款”选项卡。编辑了我的答案。请尝试(location.href.split(“#”)[1]| |“”
而不是window.location.hash
以获取锚定