ヘルプ、jq によって動的に生成された要素を有効にするには、クリック イベントにバインドする必要があり、実行される関数にもクリック イベントがあり、関数が 2 回実行されます。この状況を解決するにはどうすればよいですか?
イベントオブジェクトを使用して、実際にクリックしたいターゲットを見つけます
実際には、イベントが 2 回バインドされているか、イベントがバブリングしているだけです 1. イベントをバインド解除してから再度バインドします。 リーリー
リーリー
最初に監視を削除してから、.off(handler).on(handler)を監視します
これは泡立っていますか?
off 最初にバインドを解除してからバインドします
上記の人がそれをより明確にしました。 1. 問題が見つかりました 動的に生成された要素がイベントにバインドされているため、1.1 は 2 回バインドされていますが、このイベントでは、以前にバインドされたイベントが再度呼び出されます
1.2 やはりイベントのバブリングが原因です (バブリングに慣れていない場合は、最初に関連情報をお読みください)
2. 動的に生成された要素は、必ずしも動的バインディング イベントを使用する必要はありません
delegate() メソッドを使用するイベント ハンドラーは、現在または将来の要素 (スクリプトによって作成された新しい要素など) で動作します。 ここをクリックして詳細なドキュメントを表示します: http://www.w3school.com.cn/jq...
on() の後に忘れずに off() をオフにしてください
イベントオブジェクトを使用して、実際にクリックしたいターゲットを見つけます
実際には、イベントが 2 回バインドされているか、イベントがバブリングしているだけです
2、バブリングをキャンセル1. イベントをバインド解除してから再度バインドします。 リーリー
リーリー
最初に監視を削除してから、
.off(handler).on(handler)を監視します
これは泡立っていますか?
off 最初にバインドを解除してからバインドします
リーリー
リーリー
上記の人がそれをより明確にしました。
リーリー1. 問題が見つかりました
動的に生成された要素がイベントにバインドされているため、1.1 は 2 回バインドされていますが、このイベントでは、以前にバインドされたイベントが再度呼び出されます
1.2 やはりイベントのバブリングが原因です (バブリングに慣れていない場合は、最初に関連情報をお読みください)
リーリー2. 動的に生成された要素は、必ずしも動的バインディング イベントを使用する必要はありません
delegate() メソッドを使用するイベント ハンドラーは、現在または将来の要素 (スクリプトによって作成された新しい要素など) で動作します。
リーリーここをクリックして詳細なドキュメントを表示します: http://www.w3school.com.cn/jq...
on() の後に忘れずに off() をオフにしてください