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



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

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

它装载得很好,但我遇到了一个意想不到的问题。在那之后,jQuery就不能在加载内容的元素上触发任何过程。例如,如果#div1具有id为my_link的链接,则这样的调用:

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

没有效果。它看起来根本不存在,尽管如果我尝试在开发控制台中选择它,我可以找到它。此外,如果我在模板(content.html)中的链接中设置一个处理程序,如下所示:

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

它工作得很好。那么,造成这种问题的原因是什么呢?有什么方法可以避免吗?

Try.on()的事件委派使用:

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

最新更新