2011-08-27 132 views
0

我有可以用箭頭錨點項目切換的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

.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); 
    } 
});