2

クリックイベントがあります(以下を参照)。私が抱えている問題は、トリガーしていることですが、targ.hide('slow')イベントは非同期であるため、最初のtarg.hide('slow')がまだ実行されている間に、イベントを再度トリガーできます。 。私はフラグで問題を解決することができましたが、これを止めるためのより良い方法があるかどうか疑問に思っていましたか?前もって感謝します。

var flag = false;
$('div.titlebar div.re.b1 div.r .sides').delegate('.close', 'click', function (e)
{
    if (!flag)
    {
        flag = true;
        var cnt = $('table.sides tbody tr > td').length;
        var targ = $(this).closest('td');
        var side = $(this).parent('div[itemprop]').attr('itemprop');

        if (cnt > 1)
        {
            targ.hide('slow', function () { targ.remove(); LoadSides(dkey); flag = false; });
            updatesidedel(side, true);
        }
    }
    e.stopPropagation();
});
4

2 に答える 2

4

がまだアニメーション化されている:animatedかどうかを確認するために使用できます。td

if( $('td:animated').length > 0 ) 
于 2012-10-24T14:39:22.247 に答える
1

この:jqueryの:selectorを使用して、アイテムが現在アニメーション化されているかどうかを確認する必要があります。

于 2012-10-24T14:38:58.767 に答える