0

私が今知っているように。toggle()メソッドは jQuery バージョン 1.9 で廃止されました。大丈夫ですが、私はそれに精通していました。解決策は、最新の jQuery 移行プラグインをインポートすることでした。

公式の jQuery API ドキュメントでは、 .toggle() メソッドの説明に注記があることがわかります。

推奨されません。代わりに .toggleClass() を使用してください

はい、代わりに使用できます.toggleClass()が、この場合は 2 つのクラス間でのみ切り替えられます。

また、なぜ使用が推奨されないのですか?

4

2 に答える 2

1

「推奨しません。代わりに .toggleClass() を使用してください」というコメントは、 を使用してクラスを切り替える提供された例に関するものであり、.toggle()に関する一般的なコメントではありません.toggle()

ドキュメントには、使用が推奨されない理由も記載されています。

.toggle() メソッドは便宜上提供されています。同じ動作を手動で実装するのは比較的簡単で、.toggle() に組み込まれた仮定が制限を証明する場合、これが必要になる可能性があります。たとえば、.toggle() が同じ要素に 2 回適用された場合、正しく動作することは保証されません。.toggle() は内部でクリック ハンドラーを使用して作業を行うため、.toggle() に関連付けられているビヘイビアーを削除するには、クリックのバインドを解除する必要があります。これにより、他のクリック ハンドラーがクロスファイアに巻き込まれる可能性があります。実装はイベントで .preventDefault() も呼び出すため、要素で .toggle() が呼び出された場合、リンクはたどられず、ボタンはクリックされません。

ここでさらに議論を参照してください

于 2013-07-27T14:18:15.790 に答える
0

jQuery の将来のバージョンでは.toggle()、呼び出すことができなくなり、コードでエラーが発生するためです。

于 2013-07-27T14:14:52.107 に答える