我需要为尚不存在click的未来元素的事件添加一个处理程序。<div>通常,我会使用 jQuery 的.live函数来处理这个问题,但现在似乎不推荐使用.on.
click
<div>
.live
.on
要.on以这种方式使用该方法,jQuery 建议设置选择器参数,以允许创建委托事件,并提供以下示例代码:
$("#dataTable tbody").on("click", "tr", function(event){ alert($(this).text()); });
这一切都很好,但是我为我的初始选择器添加了什么,它们在#dataTable tbody哪里?请注意,$.on()这不起作用。
#dataTable tbody
$.on()
jQuery 的文档显示您将替换
$(selector).live(event, handler)
和
$(document).on(event, selector, handler)
此外,您还可以选择更精确并替换$(document)为元素的静态父级的选择器。例如,如果你有一个静态table元素并且tr元素是动态添加到 DOM 中的,你可以做类似的事情$('table#id').on('click', 'tr', ...)
$(document)
table
tr
$('table#id').on('click', 'tr', ...)
http://api.jquery.com/live/