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コンテナ終了エラーコードの手順

推薦する

Vue検証コードコンポーネントの使い方の詳しい説明

この記事の例では、vue検証コードコンポーネントで使用される具体的な実装コードを参考までに共有してい...

新しい ECMAscript オブジェクト機能の紹介

目次1. オブジェクトのプロパティ1.1 属性表記2. プロパティ名を計算する3.オブジェクトメソッ...

Nginx proxy_pass の / スラッシュによって引き起こされた殺人事件の詳細な説明

背景nginx サーバー モジュールは 2 つのサーバーにプロキシする必要があるため、異なるサーバー...

Vueはログインジャンプを実装する

この記事では、ログインジャンプを実装するためのVueの具体的なコードを例として紹介します。具体的な内...

レスポンシブ Web デザインが価値のない 5 つの理由

この記事は Tom Ewer の Managewp ブログからのもので、現在人気のレスポンシブ デザ...

Postman 自動インターフェーステストの実践

目次背景説明GETリクエストの作成事前リクエストスクリプトで署名を作成するスクリプトは環境変数に書き...

Vue が価格カレンダー効果を実現

この記事では、価格カレンダー効果を実現するためのVueの具体的なコードを例として紹介します。具体的な...

Nginx Rewrite の使用シナリオとコード例の詳細な説明

Nginx Rewriteの使用シナリオ1. URL アドレスジャンプ。たとえば、ユーザーが pm....

Golang を使って Docker API を実際に操作する

目次SDKのインストールローカル Docker の管理コンテナの実行バックグラウンドでコンテナを実行...

IE8 開発者ツール メニューの説明

<br />この記事では、開発者ツールのさまざまなメニューについて簡単に説明しました。こ...

MySQL サブクエリ (ネストされたクエリ)、結合テーブル、複合クエリの詳細な説明

1. サブクエリMySQL 4.1以降はサブクエリをサポートしていますサブクエリ:別のクエリ内にネス...

JS 手ぶれ補正機能の実装と使用シナリオ

目次1. 手ぶれ補正機能とは何ですか? 1. なぜ手ぶれ補正機能が必要なのでしょうか? 2. 手ぶれ...

MySQL テーブルの垂直分割と水平分割

垂直分割垂直分割とは、データテーブルの列を分割すること、つまり、多くの列を持つテーブルを複数のテーブ...

Node.js コンソールで強調表示されたコードを印刷する方法

序文コードを実行してエラーが発生すると、エラーが出力されます。エラーにはスタック情報が含まれており、...

Docker に Zookeeper を素早くインストールする方法の詳細なチュートリアル

Docker で Zookeeper を素早くインストール会社を変わってから長らくZookeeper...