jQuery:稍后通过load()添加的代码被忽略

时间:2015-03-08 00:25:37

标签: jquery

我有这样的功能:

$(".link").click(function (){ ... }

运作良好。

现在我使用$(“#new”)。load(“test.htm”);这个html文件包含类似

的内容
<a href="#" class="link" data-name="foo">Hello</a>

会显示该链接,但所有点击都会被忽略。

我确信这与后来添加到DOM中的内容有关。

我在这里发现了这个陈述,但不知道它是否适用于我的问题:

  

因为您在DOM完全加载后插入内容,所以您必须使用.on(“click”,function(){})来实现您的点击功能,因为在您绑定它们时它们不是在DOM中可用!

我该如何解决?谢谢!

2 个答案:

答案 0 :(得分:1)

当您$(".link").click(function (){ ... }时,您正在做的是选择文档中的所有元素并向其添加点击事件。你需要使用this才能做你想做的事。

答案 1 :(得分:0)

替换

$(".link").click(function (){ ... }

$("body").on("click", ".link", function (){ ... });