ホームページ >ウェブフロントエンド >jsチュートリアル >toggle() の隠された問題 jquery の解決策

toggle() の隠された問題 jquery の解決策

WBOY
WBOYオリジナル
2016-05-16 16:59:571093ブラウズ

最近例を書いたとき、toggle 関数を使用しましたが、以前は呼び出し時に要素が非表示になり、複数のイベントを順番に切り替えるだけでした。私は困惑したので、オンラインで検索して jQuery API ドキュメントを参照しました。最終的に理由が見つかりました:
jQuery 1.9 以降、toggle() が変更されたことが判明しました。以下は公式 Web サイトからのメモです:
注: このメソッド シグネチャは jQuery 1.8 で非推奨となり、jQuery 1.9 で削除されました。 jQuery には、要素の表示/非表示を切り替える .toggle() というアニメーション メソッドも用意されています。アニメーションまたはイベント メソッドが起動されるかどうかは、渡された引数のセットによって決まります。
以前のバージョンでは、同じ名前の toggle() が 2 つありました。ですが、実行方法は異なります:
.toggle( handler(eventObject), handler(eventObject) [, handler(eventObject) ] )
説明: 2 つ以上のハンドラーを、一致する要素にバインドして実行します。
========================================== = =========
.toggle( [duration ] [, complete ] )
説明: 一致した要素を表示または非表示にします。
以降のバージョンでは、最初の toggle() 関数が置き換えられます。が削除されたため、切り替え関数の呼び出しに使用されたときに要素が非表示になりました。
========================
この機能は削除されたため、要件を実装するために引き続き必要です。複数のイベントを順番に切り替えるにはどうすればよいでしょうか?
クリックイベントを通じてさまざまな状況を判断することによって、またはさまざまな機能を実行するためにクリック数をカウントする変数を設定することによってトリガーできます。

コードをコピーします コードは次のとおりです。

var num=0; ('# ボタン').click(function(e){
if(num %2 == 0){
//doSomething
}else{
//doOtherSomething
}
e .preventDefault(); // 要素のデフォルトのアクションを禁止します (存在する場合)
});
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。