从jQuery中生成的页面元素访问jQuery函数

时间:2013-05-28 19:51:24

标签: javascript jquery

我有一个小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之前哪一块都没关系。

我做的任何事情显然都错了?

2 个答案:

答案 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和/或类时创建事件。