jQuery在通过.load()加载后无法看到元素

时间:2013-12-14 20:46:25

标签: html jquery dom javascript-events

我使用jQuery方法.load()将一些内容加载到html页面中,如下所示:

$('#block_name').load('components/content.html #div1');

它完全加载,但我遇到了意想不到的问题。之后,jQuery无法在加载内容的元素上触发任何过程。例如,如果#div1的链接标识为my_link,那么就是这样的调用:

$('#my_link').on('click', function(){ /* some actions*/ });

无效。虽然如果我尝试在开发控制台中选择它,我可以找到它,但看起来它并不存在。 此外,如果我在模板(content.html)中的该链接中设置处理程序,如下所示:

<a id="my_link" href="#" onClick="return myFunction();">Link text</a>

......它完美无缺。 那么对于这样的问题可能造成什么,有什么办法可以避免呢?

1 个答案:

答案 0 :(得分:3)

尝试.on()'s event delegation使用:

$('#block_name').on('click', '#my_link', function(){ /* some actions*/ });