ajax异步动态增加dom元素,为其绑定事件的问题(已解决)
使用ajax异步请求,动态增加dom元素,然后为元素绑定事件失败的小问题
一、背景
采用layui的流加载后,动态添加dom元素,添加元素后,打算为其中的某个元素绑定click事件,一开始采用了普通的click事件进行处理,发现找不到该dom元素,难道是元素在绑定事件前还没有加载?
二、原因分析
原因正和我猜的一样,在绑定事件的时候,找不到dom元素,因为它是后添加上去的。因此$(dom).click(function(){})
就找不到对应的dom元素,在网上找了一阵子,发现了两个函数可以解决。
三、解决方案
1.live()
函数,不过比较过时了,这里就不说了。
2.on()
函数。
举个例子:
1 |
|
说明:
.order-list-all
是本来就存在window对象中的dom元素,而.delete_order
是我动态添加的一个dom元素。这样就可以为当前或者未来的元素绑定事件啦。而不应该用$(".order-list-all").click(function(){})
。
注:
这个函数主要用于ajax异步加载和js动态添加dom中。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!