gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 07:53:51 25 4
gpt4 key购买 nike

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

我正在使用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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com