考虑我页面中的以下三个语句。元素#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() 语法似乎不同。
这是记录在案的行为,还是我在实施中遗漏了一些重要的东西。