【问题标题】:Show callback is not firing jquery ui tabs显示回调未触发 jquery ui 选项卡
【发布时间】:2013-07-07 03:00:37
【问题描述】:

我正在关注这些示例:http://jsfiddle.net/Shef/k6TEZ/,其中使用了callbackshow()。 我也在执行这个callback,但它似乎不起作用。这是我的 htmljquery

HTML

<div id="tabs">
    <ul>
        <li><a href="#tabs-1">Nunc tincidunt</a></li>
        <li><a href="#tabs-2">Proin dolor</a></li>
        <li><a href="#tabs-3">Aenean lacinia</a></li>
      </ul>
      <div id="tabs-1">
        <p>Proin elit arcu,mpus lectus.</p>
      </div>
      <div id="tabs-2">
        <p>Morbi tincidunt, d</p>
      </div>
      <div id="tabs-3">
        <p>Mauris eleife.</p>

      </div>
    </div>

jquery

 $("#tabs").tabs({
    show: function(event,ui){
        console.log("shown"+ui.index);
    }   
 });

$( "#tabs" ).find( ".ui-tabs-nav" ).sortable({
    axis: "x"
});

//tabsactivate
//tabsshow
 $('#tabs').on('tabsactivate', function(event, ui) {
    $(ui.newTab).data('index',ui.newTab.index());     
    console.log($(ui.newTab).data('index'),ui.newTab.index());
});

有人可以帮我理解为什么show() 没有被解雇吗?

使用 jquery ui 1.10 无法正常工作。使用 1.9.2 即可。

【问题讨论】:

  • 刚刚编辑,我才注意到。
  • 根据changelog,show 事件在 1.10 中已从标签小部件中移除

标签: jquery jquery-ui tabs


【解决方案1】:

根据jQuery UI 1.9 changelog

已弃用:显示事件;重命名为激活。

并根据jQuery UI 1.10 changelog

删除:显示事件。

看来您应该使用activatebeforeActivate

【讨论】: