我相信对于经验更丰富的人来说,这是微不足道的。我试图阻止一个指定的选项卡查找并打开其相应的div。相反,做我指定的任何事情,比如打开一个对话框。
我尝试使用return false和preventDefault()绑定到选项卡,它一般适用于所有选项卡,但不是缩小选择器时指定的那个,它只是打开div,就像典型的选项卡一样,控制台没有错误。
我也试过保持特定的标签故意破坏,没有它的div,这会导致各种愚蠢的东西......反正坏代码。
HTML
<div id="tabs">
<ul>
<li><a href="#tabs1">tabs 1</a></li>
<li><a href="#tabs2">tabs 2</a></li>
<li><a href="#customtab">custom tab</a></li>
</ul>
<div id="tabs1">
etc
</div>
..
<div id="customtab">
dialog content
</div>
</div>
jQuery的:
$("#tabs [href=#customtab]").bind('tabselect', function(){
alert("do whatever I say here");
return false;
});
显然我的做法是错误的。建议?
谢谢你的时间!
答案 0 :(得分:3)
您需要使用beforeActivate事件
$("#tabs").bind('tabsbeforeactivate', function (e, ui) {
if (ui.newPanel.is('#customtab')) {
console.log("do whatever I say here", ui);
return false;
}
});
演示:Fiddle
如果jQuery UI 1.8
$("#tabs").bind('tabsselect', function (e, ui) {
if ($(ui.panel).is('#customtab')) {
console.log("do whatever I say here", ui);
return false;
}
});
演示:Fiddle