以下に、要素がクリックされたときに DIV を非表示または表示する簡単な関数を示します。ただし、1回のマウスクリックで2回実行されています。いくつかのブレークポイントでコードを停止するために firebug を使用しました。最後の関数 (slideToggle) が終了すると、クリック関数の先頭に戻り、もう一度繰り返します。これは、表示されるはずだった要素が、slideToggle で再び非表示になるため、まだ非表示になっていることを意味します。
$('#showEmailHistory').click(function() {
$('#emailHistory').siblings().slideUp();
$('#emailHistory').slideToggle();
event.stopPropagation();
});
event.stopPropagation(); を配置しました。これを修正するための一時的な手段として。しかし、私が本当に知りたいのは、再実行の原因は何ですか? 要素 #showEmailHistory にリンクされた他のイベントはありません。
クリックにリンクされた要素は単純な div です。
<div id="showEmailHistory" class="button">Show Email History</div>
表示したい要素は単純な div です。
<div id="emailHistory">
Content
</div>