2011-09-01 42 views
2

我使用嵌套jQuery UI tabs如下所示http://jsfiddle.net/VvFyM/1/jQuery UI的标签嵌套的标签事件触发和结合

我想单独绑定到tabsselect事件两外标签和嵌套的标签。问题是,每当触发嵌套标签的tabsselect事件,似乎可以:

  1. 外面的标签的tabsselect处理捕获它,以及,或
  2. 外面的标签的选择事件也引发(因此它被捕获)。

这是哪一个?

然后,有没有办法分别触发和绑定2个事件?

所以,与其

$("#tabs").bind("tabsselect", function(ev, ui){ 
    console.log("Tab selected"); 
}) 

我想在你初始化做相反的初始化绑定之后绑定选择功能类似

$("#tabs").bind("/*tabsselect outside tabs only*/", function(ev, ui){ 
    console.log("Tab selected"); 
}) 

$("#tabs").bind("/*tabsselect inside tabs only*/", function(ev, ui){ 
    console.log("Tab selected"); 
}) 

回答

2

标签,并解决了这个问题。我更新你的小提琴显示此:http://jsfiddle.net/R5sSh/

+0

非常感谢奏效。作为一个后续,我怎么能得到它,以便我可以控制它,当我点击一个主选项卡时生成一个子选项卡选择事件?基本上,当我点击主选项卡时,我希望它遵循子选项卡的选择事件。 – fortuneRice

+0

这是一个不同的问题,但你可能做的是为子选项选择事件创建一个单独的函数,然后从选项卡和子选项卡选择绑定中调用它。更新小提琴:http://jsfiddle.net/R5sSh/2/ –

0

此外,您可以删除ui-tabs-selectedui-tabs-active类,那么你可以使用$('#tabscontainer').tabs("select", hashOrIndex);