请知悉:本文最近一次更新为 9年 前,文中内容可能已经过时。

有时候ajax添加过来的元素需要响应一些时间,这种的你用指定事件是无效的,因为指定的时候这元素根本不存在,所以添加后也不会生效。
解决办法呢,就是直接将事件绑定到body或者父元素上,示例代码如下:

$("#id ul").on("click","li", function() {

});

上述代码是将点击事件绑定到了ul标签上,动态添加的li标签就可以响应点击事件了。

绑定body的时候,换种方式,使用delegate()来绑定:
delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。
使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。
示例代码如下:

$("body").delegate(".classname","click",function(){
})

如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。

尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。


与《jQuery绑定事件到动态添加的元素》相关的博文:


留言

avatar
😀
😀😁😂😅😭🤭😋😘🤔😰😱🤪💪👍👎🤝🌹👌