单击/激活jQuery UI选项卡时触发函数?

daG*_*GUY 5 ajax jquery post jquery-ui jquery-ui-tabs

我正在使用jQuery选项卡,并通过AJAX调用检索其中一个选项卡中的内容.但是我不希望在单击选项卡(激活)之前触发调用,因为用户可能不一定要单击它.最好的方法是什么?

jQuery UI的提供select,并show为标签的事件,但是当这些火灾的任何选项卡中选择或显示,不只是特定(据我所知).

我还尝试将click事件分配给特定选项卡的ID:

$("#my-tab").click(function(){
...
     $.post(URL, function(data){
          ...
     });
...
}
Run Code Online (Sandbox Code Playgroud)

但这似乎没有任何影响,呼叫永远不会被触发.

use*_*642 17

勾选的解决方案不再起作用,因为jquery-ui已经改变.您还需要在整个选项卡集上调用选项卡功能,而不仅仅是一个选项卡.并且ui.index需要被替换.如果第二个面板的ID为"tab2",那么您可以使用:

$("#tabs").tabs({
    activate: function(event, ui) {
       if (ui.newPanel.selector == "#tab2") {
            alert("tab 2 selected");
       }
    }
});
Run Code Online (Sandbox Code Playgroud)


Ric*_*ann 8

Ui-tabs提供了一个在选择选项卡时触发的功能.

$( ".yourTab" ).tabs({
   select: function(event, ui) {
        if(ui.index == myTabIndex) {
            $.post(URL, function(data){
              ...
            });
        }
   }
});
Run Code Online (Sandbox Code Playgroud)

注意使用activate新版本.

参考