【问题标题】:function including waiting for bootstrap tab to be shown包括等待显示引导选项卡的功能
【发布时间】:2018-04-21 20:36:40
【问题描述】:

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

基本代码:

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
   });
}

【问题讨论】:

    标签: jquery twitter-bootstrap-3 tabs


    【解决方案1】:

    你如何拆分函数分为两部分,在标签显示之前运行的部分和只在标签显示之后运行的部分。

    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
    });
    

    【讨论】:

    • 在这种情况下,显示的事件在函数之外是否也可用?希望显示的事件只在函数内部执行。
    • @KevinLindmark 1. 你试过了吗? 2.我不知道你说的在函数外也可用是什么意思,当你将处理程序附加到事件时,处理程序本身并没有在那一刻执行,它是一个休眠函数等待要触发的事件。所以,正如你在问题中所问的那样,处理程序只会在test() 内部执行/执行,在$('a[href="#tab1"]').tab('show'); 之后,我会在答案中添加一些注释,请告诉我
    猜你喜欢
    • 1970-01-01
    • 2014-05-16
    • 1970-01-01
    • 2015-03-18
    • 1970-01-01
    • 2022-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多