$element.clone(true, true);
:一个布尔值,指示是否应将事件处理程序和数据与元素一起复制。默认值为false。
:一个布尔值,指示是否应复制克隆元素的所有子级的事件处理程序和数据。默认情况下,其值与第一个参数的值匹配(默认为false)。
注意.on()
不要将事件实际上绑定到目标,而是绑定到要委派的元素。因此,如果您有:
$('#container').on('click', '.button', ...);
这些事件实际上绑定到#container
。当发生单击.button
元素时,它会冒泡到该#container
元素。触发事件的元素将根据的选择器参数进行评估.on()
,如果匹配,则执行事件处理程序。这就是事件委托的工作方式。
如果克隆元素#container,则必须使用事件和数据进行深度克隆,.on()
以保留要进行的绑定。
如果您.on()
在的父项上使用,则没有必要#container
。