【问题标题】:jQuery UI tabs nested tabs events triggering and bindingjQuery UI 选项卡嵌套选项卡事件触发和绑定
【发布时间】:2011-09-01 18:26:21
【问题描述】:

我正在使用嵌套的jQuery UI tabs,如此处所示http://jsfiddle.net/VvFyM/1/

我正在尝试为外部选项卡和嵌套选项卡分别绑定到 tabsselect 事件。问题是,每当触发嵌套选项卡的 tabsselect 事件时,似乎:

  1. 外部选项卡的 tabsselect 处理程序也捕获它,或
  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");
})

【问题讨论】:

    标签: jquery-ui jquery-ui-tabs


    【解决方案1】:

    在初始化选项卡时绑定它而不是在初始化之后绑定选择函数,这样可以解决问题。我更新了你的小提琴来展示这个:http://jsfiddle.net/R5sSh/

    【讨论】:

    • 非常感谢。作为后续行动,我如何获得它以便在我单击主选项卡时控制它以生成子选项卡选择事件?基本上,当我单击主选项卡时,我希望它遵循子选项卡的选择事件。
    • 这是一个不同的问题,但您可以做的是为子选项卡选择事件创建一个单独的函数,然后从选项卡和子选项卡选择绑定中调用它。更新小提琴:jsfiddle.net/R5sSh/2
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多