我有一个小jQuery调用,它完美地返回绑定到on函数的元素:
$(".claim-detail a").on("click", function(){
...some stuff
})
然后一点点html:
<p class="claim-detail"><a href="#modal" data-toggle="modal">get the data</a></p>
完美无缺。
但我需要在javascript中生成声明细节html。当我在那里移动时,html在页面上生成没有问题,但jQuery函数完全中断。无论哪个在javascript之前哪一块都没关系。
我做的任何事情显然都错了?
答案 0 :(得分:3)
您需要将事件委派用于动态生成的元素,这些元素在DOM就绪时不存在。将您的点击处理程序更改为:
$(document).on("click", ".claim-detail a", function(){
你的点击处理程序在它存在之前试图绑定到该元素的可能性(我说这是因为我们不知道你的代码是如何生成的)
答案 1 :(得分:1)
使用
<p class="claim-detail"><a onclick="myNewFunction()" href="#modal" data-toggle="modal">get the data</a></p>
我的myNewFunction是您在活动中使用的功能。其他选项是在您实际完成在DOM中创建HTML ID和/或类时创建事件。