如果您希望单击处理程序适用于动态加载的元素,则可以在父对象(不会动态加载)上设置事件处理程序,并为其提供一个与动态对象匹配的选择器,如下所示:
$('#parent').on("click", "#child", function() {});
事件处理程序将附加到该#parent
对象,并且只要单击事件在源于的事件上冒泡#child
,它就会触发您的单击处理程序。这称为委托事件处理(事件处理委托给父对象)。
之所以这样做,是因为#parent
即使该#child
对象尚不存在,您也可以将事件附加到该对象上,但是当它后来存在并被单击时,click事件将冒泡到该#parent
对象,它将看到它起源于#child
和有一个事件处理程序可以单击#child
并触发您的事件。