事件触发没有完成
问题描述:
我有可以用箭头锚点项目切换的div。一旦你点击,div显示它的内容或隐藏它(保留锚和标题所在的标题)。事件触发没有完成
旁边的切换器,我有一个图标,应该删除div,但我想这样做,如果潜水是toggle_closed它会触发事件的切换器,并打开div看到它,然后再决定是否你将要删除它或不会。
这里是我的代码:
var toggler = parentDiv.find('a.toggle');
if (toggler.hasClass('toggle_closed'))
toggler.trigger('click',function(){
});
var option = parentDiv.find('input[name="tag"]').val();
var textConfirm = 'Are you sure you want to delete the "'+option+'"?';
if (confirm(textConfirm)){
do something;
}
的问题是,当我点击删除按钮,它触发事件,所以箭头的变化,但它并不显示在div但要求确认。如果你取消了,div会显示,所以我想我需要等待它结束事件。
答
.trigger()函数的第二个参数是“extraParameters”所以首先尝试改变路线是这样的:
toggler.trigger('click');
这可能不是你的问题在这里。切换内容分区时是否有动画?也许确认是阻止动画。您可以手动调用toggle(或slideToggle)并在动画结束时使用回调代替触发点击:
function showDelConfirm(targetDiv) {
var option = targetDiv.find('input[name="tag"]').val();
var textConfirm = 'Are you sure you want to delete the "' + option + '"?';
if (confirm(textConfirm)) {
do something;
}
}
$('.deleteButton').click(function() {
var parentDiv = $(this).parent();
var toggler = parentDiv.find('a.toggle');
if (toggler.hasClass('toggle_closed')) {
$('.divToShow').toggle('fast', function() {
showDelConfirm(parentDiv);
});
} else {
showDelConfirm(parentDiv);
}
});