Javascript 事件触发未完成

Javascript 事件触发未完成,javascript,jquery,Javascript,Jquery,我有可以用箭头锚项目切换的div。单击后,div将显示或隐藏它的内容(标记锚定和标题所在的标题) 在切换器旁边,我有一个图标,它应该删除div,但我想做的是,如果切换器关闭,它将触发切换器事件并打开div以查看它,然后再决定是否删除它 这是我的密码: var toggler = parentDiv.find('a.toggle'); if (toggler.hasClass('toggle_closed'))

我有可以用箭头锚项目切换的div。单击后,div将显示或隐藏它的内容(标记锚定和标题所在的标题)

在切换器旁边,我有一个图标,它应该删除div,但我想做的是,如果切换器关闭,它将触发切换器事件并打开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;
}
问题是,当我单击delete按钮时,它会触发事件,因此箭头会改变,但它不会显示div,而是请求确认。如果取消,将显示div,因此我认为需要等待它结束事件。

.trigger()函数的第二个参数是“extraParameters”,因此请首先尝试如下更改行:

toggler.trigger('click');
这可能不是你的问题。切换内容div时是否有动画?可能确认正在阻止动画。您可以手动调用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);
    }
});