【发布时间】:2015-05-05 23:35:27
【问题描述】:
我想将“a.delete”触发元素传递给我的引导箱回调,有没有办法做到这一点?
var confirm = false;
$('body').on('click', 'a.delete', function(e) {
if( confirm == false){ e.preventDefault(); }
bootbox.confirm("Confirm?", function(result) {
if(result == true){
confirm = true;
$(this).trigger('click');
}
});
});
编辑 好吧,Taplar 我按照你说的做了,但没有触发动作,即使“触发点击”正在工作......
var confirm = false;
$('body').on('click', 'a.delete', function(e) {
var element = $(this);
if( confirm == false){
e.preventDefault();
bootbox.confirm("Confirm?", function(result) {
if(result == true){
confirm = true;
console.log(confirm);
element.trigger('click');
}
});
} else {
console.log('triggered again');
}
});
退出:点击确认按钮后得到的结果
true
triggered again
我的解决方案
var confirm = false;
$('body').on('click', 'a.delete', function(e) {
var element = $(this);
if( confirm == false){
e.preventDefault();
bootbox.confirm("Confirm?", function(result) {
if(result == true){
confirm = true;
$(element)[0].click();
}
});
} else {confirm = false;}
});
【问题讨论】:
-
我能问一下你想在这里完成什么吗?您似乎正在使用超链接作为删除按钮,并确认请求应该继续?
-
是的,如果 bootbox 被确认然后继续它的自然行为,就是这样......我问是因为 bootbox 似乎没有传递参数的选项......无论如何我解决了它(我认为是正确的):D
标签: jquery callback element bootbox