jQuery 新添加元素事件绑定无效

it2024-08-06  70

 

jQuery中事件绑定,大多使用on就足够了。

但是对于新添加的元素 on 的绑定事件 会不起作用。

因为 append 中的 节点是在整个文档加载之后才添加的,页面并不会为未来的元素初始化添加点击事件,因此 这种方式添加的 节点的点击事件是无效的。

解决方法:

事件委托。事件委托就是利用事件冒泡的原理,把事件添加到父元素或祖先元素上,触发执行效果。

原代码:

1 $('#ul li').on('click', function() { 2 alert($(this).html()) 3 })

修改为:

$(document).on('click', '#ul li', function() { alert($(this).html()) })

 

转载于:https://www.cnblogs.com/xguoz/p/10131297.html

最新回复(0)