JQuery UI的页签（tabs）组件中，如何拦截页签点击事件，并添加其他功能（如重定向到其他页面）?
李小翔
2013-11-26 10:32

内容列表

供稿人：刁隆
一般情况下，页签组件中的每个页签都是一个容器，ajax或非ajax的，但开发过程中，可能需要页签中添加一些其他功能，比如点击页签跳转到一个新页面。可以通过对事件 beforeActivate 的拦截来实现。
如下例所示，点击靠右的页签 bar 时，将页面重定向到了一个新的地址：
<script type=”text/javascript”>
$j(function() {  $j(”#tabs”).tabs({ 
   // 监控 beforeActivate 事件
    beforeActivate: function(event, ui) { 
       if ( $j(ui.newTab.context).attr(”href”) == ”jump” ) { 
            location = ”http://www.bing.com”;
           return false;  // 返回 false，取消激活
        } 
    } 
} )} )
</script>
<div id=”tabs”>
   <ul>
       <li><a href=”#tab1”>foo</a></li>
       <li style=”float:right”><a href=”jump”>bar</a></li>
   </ul>
   <div id=”tab1>normal tab</div>
</div>
这段代码中：
定义tab时（li > a），设置一个特殊的 href 属性（也可以是其他任何东西）
在事件 beforeActive 中，捕获该属性、执行自定义代码、返回false
附：tabs的一些属性、事件、方法及技巧