javascript - 触发已在插件上注册的 javascript 事件处理程序

标签 javascript jquery twitter-bootstrap

抱歉,标题很血腥,将进行适当编辑。

我正在使用Twitter Bootstrap Wizard用于处理数据库操作。我真的希望能够在按下按钮时触发 onTabShow() 函数。 onTabShow() 加载数据并生成更新的表单,因此这种注册某种事件的能力将非常有帮助。该函数定义如下:

$('#location_wizard').bootstrapWizard({
        ...
        onTabClick: function (tab, navigation, index, clickedIndex) {
            ...
        },
        onNext: function (tab, navigation, index) {
            ...
        },
        onPrevious: function (tab, navigation, index) {
            ...
        },
        onTabShow: function (tab, navigation, index) {
            TRIGGER THIS FUNCTION WITHOUT SWITCHING PAGES!
        }
});

我怎样才能写出类似的东西

('#add-new').on('click', function() {
    ... AJAX some stuff ...
    ... trigger "onTabShow()" without switching tabs in the wizard ...
})

最佳答案

从插件中提取“在选项卡上显示”处理程序,以便您可以从代码的不同部分调用该函数。

$('#location_wizard').bootstrapWizard({
    //...
    onTabShow: onTabShowHandler
    //...
});

$('#add-new').on('click', function(){
    //... ajax ...
    onTabShowHandler(x, y, z);
});

function onTabShowHandler(tab, navigation, index){
    // do tab show stuff
}

编辑:其他详细信息

since x, y, z are provided within bootstrapWizard, how might I access those when triggering onTabShowHandler from the click event?

您必须自己将这些参数传递给函数。如果您在 bootstrapWizard 插件触发 onTabShowHandler 时检查每个参数,您将看到它们的值并能够模拟类似的东西。

function onTabShowHandler(tab, navigation, index){
    console.log(tab);        // element/jQuery object
    console.log(navigation); // element/jQuery object
    console.log(index);      // number
}

// in your click function...
$('#add-new').on('click', function(){
    var x = $('#tab-1');
    var y = $('#nav');
    var z = 0;

    onTabShowHandler(x, y, z); // reacts as though tab 1 was shown
});

关于javascript - 触发已在插件上注册的 javascript 事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34884770/

相关文章:

javascript - $.when.apply 在延迟数组上在所有解析之前运行

javascript - 在一定数量后清空 Meteor 数据库/集合?

javascript - 从 table2excel.js 渲染后删除 Excel 上的链接

css - bootstrap3 使菜单更快崩溃

javascript - 具有多个 ID 的 Rest API 资源命名

javascript - 在 JavaScript 中从 Base64 字符串创建 BLOB

javascript - 添加到购物车时隐藏产品,点击 woocommerce

javascript - Jquery加载图片加载时隐藏

css - Bootstrap 媒体查询

javascript - Bootstrap 选项卡面板标题和内容等高