使用jQuery UI选项卡,如何在单击选项卡后运行代码?

ben*_*ben 8 jquery jquery-ui jquery-ui-tabs

使用jQuery UI选项卡,您可以使用select方法在单击选项卡时运行代码:

$( ".selector" ).tabs({
   select: function(event, ui) { ... }
});
Run Code Online (Sandbox Code Playgroud)

但是代码在加载刚刚单击的选项卡之前运行.我需要在加载新标签后运行代码.我怎样才能做到这一点?谢谢阅读.

Dar*_*ren 12

API已更改.此事件现在是"激活"/"tasbactivate"; 见http://api.jqueryui.com/tabs/#event-activate

----- 答案如下-----------

根据问题,它是tabsshow(而不是tabload)事件所需的...当显示选项卡时触发事件.

代码示例:(来自http://jqueryui.com/demos/tabs/)

提供一个回调函数来处理show事件作为init选项.

$( ".selector" ).tabs({
   show: function(event, ui) { ... }
});
Run Code Online (Sandbox Code Playgroud)

按类型绑定到show事件:tabsshow.

$( ".selector" ).bind( "tabsshow", function(event, ui) {
  ...
});
Run Code Online (Sandbox Code Playgroud)

如果要将焦点设置在控件或类似对象上,则该事件非常有用.

  • 此事件现在是"激活"/"tasbactivate"; 见http://api.jqueryui.com/tabs/#event-activate (8认同)

Cub*_*Eye 7

$( ".selector" ).tabs({
   load: function(event, ui) { ... }
});
Run Code Online (Sandbox Code Playgroud)

来自http://jqueryui.com/demos/tabs/


Jas*_*oof 6

看起来你可以绑定到tabsload或tabsshow:

http://jqueryui.com/demos/tabs/#Events

$('#example').bind('tabsshow', function(event, ui) { ... });
Run Code Online (Sandbox Code Playgroud)

  • 此事件现在是"激活"/"tasbactivate"; 见http://api.jqueryui.com/tabs/#event-activate (2认同)