Jquery 功能包括等待显示引导选项卡

Jquery 功能包括等待显示引导选项卡,jquery,twitter-bootstrap-3,tabs,Jquery,Twitter Bootstrap 3,Tabs,试图找出如何构建一个函数,其中包括一个步骤,等待引导选项卡显示,然后继续该函数。可以使用显示的事件,但只希望在执行函数时执行此操作。有什么提示吗 基本代码: function test(){ $('a[href="#tab1"]').tab('show'); //go to tab $("a[href='#tab1']").on('shown.bs.tab', function(e) { //do something else. However this is carrie

试图找出如何构建一个函数,其中包括一个步骤,等待引导选项卡显示,然后继续该函数。可以使用显示的事件,但只希望在执行函数时执行此操作。有什么提示吗

基本代码:

function test(){
   $('a[href="#tab1"]').tab('show'); //go to tab
   $("a[href='#tab1']").on('shown.bs.tab', function(e) {
     //do something else. However this is carried out also outside of function...only want it carried out inside function
   });
}
将函数拆分为两部分,一部分在显示选项卡之前运行,另一部分仅在显示选项卡之后运行


在这种情况下,显示的事件是否也在函数外部可用?希望显示的事件仅在函数内部执行。@KevinLindmark 1。你试过了吗?2.我不知道你所说的在函数外部可用是什么意思,当你将一个处理程序附加到一个事件时,处理程序本身并没有在那一刻执行,它是一个休眠函数,等待事件被触发。因此,正如您在问题中所问的,处理程序将只在
test()
内部执行,在
$('a[href=“#tab1”]”)之后。tab('show'),我会在答案中添加一些注释,请让我知道
function test(){
   //run first part
   $('a[href="#tab1"]').tab('show'); //go to tab - I assume this line triggers the tab to be shown, right? otherwise you could use this one:

   //next line *will* actually execute the code inside the event handler 
   $('a[href="#tab1"]').trigger('shown.bs.tab'); //go to tab
}

//this code runs on page load BUT...
$("a[href='#tab1']").on('shown.bs.tab', function(e) {
    //...code in here runs only when this line runs: $('a[href="#tab1"]').trigger('shown.bs.tab');
    //run second part
});