您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

jQuery clone()不克隆事件绑定,即使使用on()

jQuery clone()不克隆事件绑定,即使使用on()

我认为您应该使用.clone()方法的重载:

$element.clone(true, true);

一个布尔值,指示是否应将事件处理程序和数据与元素一起复制。认值为false。

一个布尔值,指示是否应复制克隆元素的所有子级的事件处理程序和数据。认情况下,其值与第一个参数的值匹配(认为false)。

注意.on()不要将事件实际上绑定到目标,而是绑定到要委派的元素。因此,如果您有:

$('#container').on('click', '.button', ...);

这些事件实际上绑定到#container。当发生单击.button元素时,它会冒泡到该#container元素。触发事件的元素将根据的选择器参数进行评估.on(),如果匹配,则执行事件处理程序。这就是事件委托的工作方式。

如果克隆元素#container,则必须使用事件和数据进行深度克隆,.on()以保留要进行的绑定。

如果您.on()在的父项上使用,则没有必要#container

JS 2022/1/1 18:21:57 有514人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶