1. 原因分析:按钮是发送 Ajax 请求,成功请求到数据后,使用 JQuery 动态生成的。Ajax 请求是异步刷新机制,不会等上面的代码执行完。因此给这种类型的按钮绑定点击事件时,按钮还没有被创建出,那么,click事件自然不会绑定到按钮上。
2. 解决办法:
① 在按钮创建的时候就绑定事件。
② 使用 JQuery 的 .live() 方法:给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效。但是在 JQuery 1.7开始的版本中被删除了,应该使用 .on() 来添加事件处理。使用旧版本的用户,应该优先使用 .delegate() 来替代 .live()。
③ 使用 JQuery 1.7 中新添加的 .on() 添加事件处理。
3. .on() 具体使用可参考官方文档:https://www.runoob.com/manual/jquery/
原文地址:https://www.cnblogs.com/lveyHang/p/11788015.html
时间: 2024-11-10 18:08:48