_blank网页的jQuery UI标签链接

时间:2010-05-24 06:34:55

标签: jquery jquery-ui jquery-ui-tabs

在我们的格式中,某些页面必须在Tabs中才可以。但其中一些必须在空白页面中打开......

这是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 ...

1 个答案:

答案 0 :(得分:0)

你是对的,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语句中做任何你想做的事情,我只是添加了一个硬重定向。