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

推薦する

el-tree での不完全なテキスト表示の解決策

目次方法1: 水平スクロールバーを設定する最も簡単な方法方法2(新規):ドラッグバーを追加して外側の...

MySQLでのカスタムパラメータの使用に関する詳細な説明

MySQL 変数には、システム変数とシステム変数が含まれます。今回の学習課題はユーザー定義変数です。...

アルバムと写真をアルバムに保存するためのWeChatアプレット

私は現在、Xiao Nian Gao に似たビデオおよびツール アプリを開発しています。ユーザーが作...

Vue の NetEase Cloud Music Player インターフェースを模倣したシンプルな実装プロセス

仕事のプロジェクトのニーズにより、曲の再生が必要となり、さまざまな資料を参考にして、NetEase ...

JavaScript で二分探索木を実装する

JavaScriptでの検索二分木実装は参考までに。具体的な内容は以下のとおりです。バイナリ検索木 ...

カラーブロックレポート効果の動的な表示を実現する HTML (サンプルコード)

HTMLカラーブロックを使用してデータを動的に表示する <スタイル タイプ="te...

HTMLヘッダータグの使用に関する詳細な説明

HTMLはヘッドとボディの2つの部分で構成されています** ヘッド内のタグはヘッドタグです** タイ...

VirtualBox の仮想ディスク vdi ファイルの容量を拡張する方法 (グラフィック チュートリアル)

VirtualBoxのインストールディレクトリを見つけます。ディレクトリ内には容量を拡張するために...

Vue ElementUI フォームのフォーム検証

フォーム検証は、フロントエンド開発プロセスで最もよく使用される機能の 1 つです。私の個人的な仕事経...

openlayers6のマップオーバーレイの詳細な説明

1. オーバーレイの概要オーバーレイとは、その名の通り、別の形で地図上に表示される、覆うことを指しま...

特定の MySQL テーブルの完全データと増分データをメッセージ キューに同期する - ソリューション

目次1. 当初の需要2. 解決策3. 運河の導入と設置運河の仕組み建築インストール4. 検証1. 当...

表のセル間隔とセルパディングの違いの詳細な説明

テーブルとは何ですか?セルセルで構成されています。表では、<td> の数は、<tr...

MySQL テーブルを削除するときに外部キー制約を無視するシンプルな実装

テーブルを削除することはあまり一般的ではありませんが、特に外部キーの関連付けがあるテーブルの場合は、...