私のページで次の 3 つのステートメントを検討してください。要素 #not_ajax_element および #ajax_element はボタンです。要素 #ajax_element は、以前の ajax 呼び出し (表示されていません) によってページに読み込まれます。
// #not_ajax is 'static' element. THIS WORKS
$("#not_ajax_element").on("click", "button", function() {
alert('Not ajax');
});
// #ajax_element is loaded by a previous ajax call. THIS DOES NOT WORK.
$("#ajax_element").on("click", "button", function() {
alert('Not ajax');
});
// #ajax_element is loaded by a previous ajax call. THIS WORKS.
$(document).on("click", "#ajax_element", function () {
alert('Not ajax');
});
コメントで判断できるように、 on() 構文は静的要素と動的要素で異なるようです。
これは文書化された動作ですか、それとも実装で重要な何かが欠けていますか?