在我们的格式中,某些页面必须位于选项卡中,这是可以的。但其中一些必须在空白页中打开...
这是 html;
<div id="tablar">
<div id="tabs">
<ul>
<li><a href="#tabs-1">Tüm Liste</a></li>
<li><a rel="ex" href="gtl.aspx?EventId=2">Yeni Ekle</a></li>
<li><a href="#tabs-2">Detaylı Arama</a></li>
<li><a rel="ex" href="RaporGtl.aspx">Raporla</a></li>
</ul>
<div id="tabs-1">...
那么我该怎么做呢。我已经尝试过了;
$('#tablar #tabs ul li a').filter(function() {
return $(this).attr('rel') == 'ex';
})
.unbind()
.click(function(e) {
location.href = this.href;
e.preventDefault();
});
但不工作...
这会在地址栏上变成 #ui-tabs-2...
最佳答案
你是对的,无论如何 jquery 都会添加一个哈希 - 但它可以被规避:
HTML
<div id="tabs">
<ul>
<li id="li1"><a href="#tab-1">tab1</a></li>
<li><a href="#tab-2">tab2</a></li>
<li><a href="#l-http://www.google.com">google</a></li>
</ul>
<div id="tab-1">Tab 1 Content</div>
<div id="tab-2">Tab 2 Content</div>
</div>
JavaScript
$(function() {
$('#tabs').tabs({
select: function(e, ui) {
if( $(ui.tab).attr('href').indexOf('#l-') == 0 ) {
window.location.href = $(ui.tab).attr('href').substring(3);
}
}
});
});
基本上,我们说任何带有 #l- 开头的 href 的链接都将是被跟踪的实际链接。酷吧?当然,你可以在 if 语句中做任何你想做的事情,我只是添加了一个硬重定向。
关于_blank 网页的 jQuery UI 选项卡链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2895180/