実験として次のコードをまとめました。
HTML:
<button>Click Me</button>
jQuery:
$('button').on('click', function() {
$newButton = $('<button />');
$newButton.addClass('newButton');
$newButton.attr('href', '#');
$newButton.html('A New Button');
$('body').append($newButton);
});
コード自体は正常に動作し、ボタンがクリックされると予想どおり、jQuery は新しいボタンを生成します。頭を悩ませた問題は、新しく作成されたボタンがクリックされても反応しないことです。つまり、jQuery コードがすべての要素をターゲットにしているにもかかわらず、新しいボタンが作成されません。
live() は 1.7 以降サポートされなくなり、on() に置き換えられたことを理解しています。ご覧のとおり、上記のコードは on() イベントを使用していますが、 live() が提供するために使用する結果が得られません。
明らかに私はどこかで間違っているのですが、誰かアドバイスできますか?
ありがとう。