_blank 网页的 jQuery UI 选项卡链接

标签 jquery jquery-ui jquery-ui-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...

最佳答案

你是对的,无论如何 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/

相关文章:

javascript - 如何从 Rails 数据库集合中返回选定的值?

javascript - Angularjs 1.2.x 注入(inject)器 :modulerrr error even a after adding ngRoute

jquery - 在 div 内平滑滚动

javascript - 在 FF 11 中加载 jquery UI 出现错误::"TypeError: a is undefined"

javascript - 使可折叠可排序 Accordion 排序为折叠形状

jquery - 检查 jQuery UI 选项卡是否已初始化(不检查类)

javascript - Ace 编辑器 + jQueryUI 选项卡杀死了我的浏览器

jquery - 如何删除第一行中的最后一个 TD

javascript - jQuery Accordion 打开折叠

html - 将所有面板的宽度设置为最宽面板的宽度