私のフォームには、ユーザーが必要に応じて要素を追加するボタンがあります。各入力フィールドには、.change()ハンドラがあります。問題は、.changeが追加されたフォーム要素では発生しないが、既存のフォーム要素では引き続きトリガされることです。どんな助けもありがとうございます。追加された要素の入力変更でイベントが発生しない
$('.element').each(function() {
$mainElement = $(this); // memorize $(this)
$sibling = $mainElement.next('input'); // find a sibling to $this.
$sibling.change(function($mainElement) {
return function() {
$mainElement.text('My textfield changed');
}
}($mainElement));
Jsfiddleデモ:http://jsfiddle.net/WCDBr/22
ただ再確認してください。あなたが望むのは、「Add」ボタンをクリックすると、入力フィールドに入力したものがページに表示されるはずです。 – HenryDev
既存の要素で、入力に何かを入力してマウスを離すと、ラベルが変更されます。 「追加」ボタンを使用して挿入された要素では、それは起こりません。 –
あなたのフィドルはフォーム要素を追加しません。しかし、要素を追加する場合、追加されるごとに各要素にchangeイベントを設定する必要があります。 – RJM