事件触发没有完成

事件触发没有完成

问题描述:

我有可以用箭头锚点项目切换的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); 
    } 
});