Ссылка на вкладки jQuery UI для веб-страницы _blank - PullRequest
3 голосов
/ 24 мая 2010

В нашем формате некоторые страницы должны быть во вкладках, это нормально. Но некоторые из них должны быть открыты на пустой странице ...

Вот 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 голосов
/ 24 мая 2010

Вы правы, 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);
      }
    }
  });
});​​

В основном, мы говорим, что любая ссылка с href, начинающаяся с # l-, будет реальной ссылкой, по которой следуют.Круто, а?Конечно, вы можете делать все, что хотите, в операторе if, я просто добавил жесткий редирект.

...