通过jQuery AJAX请求从已加载的html通过先前的AJAX请求加载html内容
为了创建一种类似Wiki的结构,我想使用jQuery和AJAX将外部HTML代码加载到我的基本页面中。我在第一部分中成功地将html内容加载到指定的div中。但是,一些加载的html内容包含另一个链接。当我单击此链接(与原始文档中的链接具有相同的结构)时,什么也没有发生。我怀疑这与事件侦听器有关,但我不知道如何解决它。代码如下:通过jQuery AJAX请求从已加载的html通过先前的AJAX请求加载html内容,jquery,ajax,Jquery,Ajax,为了创建一种类似Wiki的结构,我想使用jQuery和AJAX将外部HTML代码加载到我的基本页面中。我在第一部分中成功地将html内容加载到指定的div中。但是,一些加载的html内容包含另一个链接。当我单击此链接(与原始文档中的链接具有相同的结构)时,什么也没有发生。我怀疑这与事件侦听器有关,但我不知道如何解决它。代码如下: 试验 $(文档).ready(函数(e){ $('#siteContent')。查找('a')。打开('click',函数(e){ e、 预防默认值(); $($
试验
$(文档).ready(函数(e){
$('#siteContent')。查找('a')。打开('click',函数(e){
e、 预防默认值();
$($(this.attr('loadLocation')).load($(this.attr('loadFile'));
});
});
AJAXload测试。。。
这是一个测试文件,用于查看我是否能够在当前HTML页面中加载外部HTML文件
以灵活的方式。点击
在这里
但是
我想要一些新内容
更改下面段落的内容
我现在确实有一些文本……但让我们替换它吧
我不知道;)
加载的html的代码与原始文件中的a标记具有相同的结构
期待您的回复。提前谢谢 您需要使用委托,而不是绑定到绑定期间存在的元素
$('#siteContent').on('click', 'a.link', function(e){
e.preventDefault();
$($(this).attr('loadLocation')).load($(this).attr('loadFile'));
});
$(#siteContent')。在('click','a.link',函数(e){..})上
上面的意思是:捕获在“#siteContent”上发生的每个“点击”事件
并在其上有一个名为“link”的类
这意味着动态注入的html将始终具有所需的功能
您可以在此处阅读有关事件委派的更多信息:
此外,您应该将整个javascript标记放在结束正文标记()之前,因为这被认为是更好的做法。问题解决了!谢谢,我将学习活动代表团,以确切了解其工作原理!
$('#siteContent').on('click', 'a.link', function(e){
e.preventDefault();
$($(this).attr('loadLocation')).load($(this).attr('loadFile'));
});