You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery on()事件未触发:点击add-to-db按钮无响应

问题分析与解决

是的,这完全是事件委托的问题。

原因:#add-to-db按钮并非页面初始化时就存在的DOM元素,它是通过#get-info的点击事件,用load()方法动态插入到#get-info-results中的。你原本直接给#add-to-db绑定点击事件的写法,只能作用于页面加载完成时已经存在的元素,动态生成的元素不会自动绑定这个事件。

解决方案:使用事件委托

把事件绑定到一个页面初始就存在的父元素上(优先选择离目标元素最近的父元素,比如#get-info-results,比绑定到document性能更优),通过指定目标选择器来触发事件:

修改custom.js中的第二个事件绑定代码:

// 绑定到动态元素的父容器#get-info-results
$("#get-info-results").on("click", "#add-to-db", function() {
    $("#add-to-db-results").load("/add-results-to-db.php", {
        // 你的POST参数
    });
});

原理:事件委托利用DOM的事件冒泡机制,父元素会监听所有子元素触发的点击事件,只要子元素匹配指定的选择器(这里是#add-to-db),就会执行对应的回调函数,不管子元素是初始存在还是后来动态生成的。


内容的提问来源于stack exchange,提问作者Jeff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 12:52:25