1

私のコードでは、「+」/プラスボタンをクリックして新しい要素のセット全体を追加しています。

しかし、問題は、クリック中にのみ新しい要素を追加しているため、要素が jquery イベントに応答していないことです。

ベローは私のシナリオでのイベントです:

$("#form input[type='text']").blur(validateField);

このイベントは、「+」/プラスボタンをクリックして動的に追加された場合を除いて、すべての入力要素に対して機能しています。

どうすれば解決できますか?誰でも助けることができますか?

前もって感謝します。

4

4 に答える 4

5

デリゲート イベント:

$(document.body).on('focusout',"#form input[type='text']",validateField);

onblur イベントはデフォルトではバブリングしないため、代わりに onfocusout イベントを使用します。

編集:チェックしたところ、jqueryはonblurイベントをマッピングすることにより、onblurイベントの委任サポートを追加しました。

ぼかしイベントは、Internet Explorer ではバブルしません。したがって、blur イベントによるイベント委任に依存するスクリプトは、ブラウザー間で一貫して動作しません。ただし、バージョン 1.4.2 の時点で、jQuery は、イベント委任メソッド .live() および .delegate() で blur を focusout イベントにマッピングすることで、この制限を回避します。

于 2013-09-25T09:49:56.093 に答える