我有可以用箭头锚项切换的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,因此我认为我需要等待它才能结束此事件。
答案 0 :(得分:0)
.trigger()函数第二个参数是'extraParameters'所以首先尝试更改这样的行:
toggler.trigger('click');
这可能不是你的问题。切换内容div时是否有动画?也许确认是阻止了动画。您可以手动调用切换(或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);
}
});