jQueryは要素を追加した後に元のイベントが実行されない問題を解決します

jQueryは要素を追加した後に元のイベントが実行されない問題を解決します

まずエラーコードを見てみましょう。

html:

        <テーブルボーダー="1" id="ベスト">
			<tr>
				<td>
					<button class="change">変更</button>
				</td>				
			</tr>
			<tr>
				<td>
					<button class="del">削除</button>
				</td>				
			</tr>
			<tr class="last"><td><button class="add">追加</button></td></tr>
		</テーブル>

js:

$(".add").click(function(){
		var newYuansu = $("<tr><td><button class='del'>削除</button></td></tr>");
		$(".last").before(newYuansu);
})
$(".del").click(関数(){
        $(this).parents("tr").remove();
})

jQuery を使用して新しい要素を追加すると、新しい要素では元のイベント関数の一部が実行されません。

ブロガーは学生であり、1つの方法だけを研究しました。

$("#best").on("クリック",".del",function(){
		$(this).parents("tr").remove();
})

元のクリックイベントをこのように記述すると、新しく追加された要素で使用できるので、非常に便利です〜

補充:

1. jQuery バージョン 1.3 未満 (jQuery 1.3 は含まない) の場合は、jQuery バージョンを更新する必要があります。

解決策がないから 解決策がない 解決策がない 解決策がない

2. jQuery バージョンが 1.3 ~ 1.8 の場合、js/jq の動的に追加された要素によってトリガーされるバインディング イベントの解決策 (on イベントはバージョン 1.6 未満ではサポートされておらず、エラーが報告されるため、on イベントの使用は推奨されません)

ライブ イベントをバインドします (ライブ イベントは jQuery 1.9 以下でのみサポートされ、それ以降のバージョンではサポートされません)。

$(".del").live("click",function(){ ///jquery 1.9 (1.9 を除く) 以下では、alert('ここには動的要素によって追加されたイベントがあります');

           })

3. 使用を推奨する

jQuery バージョンが 1.9 以上の場合、ライブ デリゲート イベントは削除され、on を通じて実装されます。 js/jq で動的に追加された要素のバインディング イベントをトリガーするソリューション

注意: ページに jq の下位バージョン (1.3 ~ 1.8) と上位バージョンの jq (jquery1.9 以上) の両方が含まれている場合、ライブ デリゲート イベントは上位バージョンによって削除されます。その結果、jquery バージョンが 1.3 ~ 1.8 でライブ イベントが使用されている場合でも、ページはエラーを報告します。

要素追加後に本来のイベントが実行されない問題をjQueryで解決する方法についての記事は以上です。jQuery関連のコンテンツについては、123WORDPRESS.COMの過去記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • 要素を追加および削除するためのjQueryメソッド
  • JQueryは動的に要素を追加し、クリックイベントを追加してプロセス分析を実装します。
  • JQueryバインディングイベントの4つの実装方法の分析
  • jQuery 削除イベントメソッド

<<:  テキストエリア テキストエリアの幅と高さ 幅と高さの自動適応実装コード

>>:  Dockerコンテナ終了エラーコードの手順

推薦する

JavaScript の setTimeout と setTimeinterval の使用例の説明

どちらの方法も、一定時間後に JavaScript コードを実行するために使用できますが、それぞれに...

ウェブページを白黒に変換します(Google、Firefox、IE、その他のブラウザと互換性があります)

CSSファイルに書き込むコードをコピーコードは次のとおりです。 01.html {グレイスケール(1...

CentOS に Memcached と PHP Memcached 拡張機能をインストールする

高性能分散メモリオブジェクトキャッシュシステムMemcachedについては、別の記事「Windows...

jQuery で呼吸カルーセル効果を実現

この記事では、呼吸カルーセル効果を実現するためのjQueryの具体的なコードを参考までに共有します。...

border-radius 値の設定に関する質問

問題記録今日はプログレスバーに似た小さなコンポーネントを完成させるつもりでした。プロトタイプは次のよ...

MySQLデータのバックアップ方法の選択と考え方

目次1. rsync、cpでファイルをコピーする2. xxxをoutfile構文に選択する3. 遅延...

dockerでrabbitmqをインストールすると管理ページに入れなくなる問題

1. 環境整備Tencent Cloud Server CENTOS 7 バージョンDockerコン...

JS ES6 スプレッド演算子の魔法のような使い方

目次1. 属性を追加する2. 複数のオブジェクトを結合する3. オブジェクトのプロパティを削除する4...

HTML フォーム タグの使用方法を学ぶチュートリアル

HTML のフォームを使用して、ユーザーからさまざまな種類の入力情報を収集できます。フォームは、実際...

2 つの Linux サーバー間の自動ファイル同期

サーバーB(172.17.166.11)の電源がオンまたは再起動されると、サーバーA(172.17....

jQuery はテーブルのページング効果を実装します

この記事では、テーブルのページング効果を実現するためのjQueryの具体的なコードを参考までに紹介し...

MySQLログシステムの使い方に関する簡単なチュートリアル

目次序文1. エラーログ2. バイナリログ1. バイナリログを有効にする2. バイナリログ形式3. ...

Docker Swarmの概念と使用法の詳細な説明

Docker Swarm は、Docker によって開発されたコンテナ クラスター管理サービスです。...

mysql の find_in_set 関数の基本的な使い方

序文これは私が最近見つけた新しい機能です。プロジェクトでの私の使用シナリオは次のとおりです。アプリケ...