Javascript 加载div内的页面内容和链接;
好的,基本上我想实现的是加载在div中单击的Javascript 加载div内的页面内容和链接;,javascript,ajax,Javascript,Ajax,好的,基本上我想实现的是加载在div中单击的targetDiv链接,而不是加载整个页面;下面是我当前使用的脚本 <div id = "targetDiv"></div> <script> $('document').ready(function() { $('#targetDiv').load('/test.php'); }); </script> $('document').ready(函数(){ $('#targetDiv').l
targetDiv
链接,而不是加载整个页面;下面是我当前使用的脚本
<div id = "targetDiv"></div>
<script>
$('document').ready(function() {
$('#targetDiv').load('/test.php');
});
</script>
$('document').ready(函数(){
$('#targetDiv').load('/test.php');
});
因此,我遇到的问题是,当单击加载到
targetDiv
中的链接时,整个页面将加载,用户将从原始页面转到新页面;我想在targetDiv
中加载新页面 您需要有一个阻止默认事件的单击处理程序,并再次使用href来load()
$(function(){
$('#targetDiv').on('click', 'a', function(e){
e.preventDefault();// prevent browser from opening url
$('#targetDiv').load(this.href);
});
});
这是一个委托的侦听器,用于解释在运行时不存在的将来的
。这不起作用的主要原因是。如果您在运行PHPWeb服务器时尝试我的代码片段,它将无缝工作
您似乎缺少单击事件的事件侦听器。假设您有id=“link”:
jQuery
$("#link").click("click", function() {
// Do the AJAX request
$.ajax({
url: "/text.php"
})
.done(function(data) { // data fetched from php file
// Load data into div
$('#targetDiv').html(data);
});
/*
// this would also work
$("#targetDiv").load('text.php');
*/
})
<div id="targetDiv"></div>
$(“#链接”)。单击(“单击”,函数(){
//执行AJAX请求
$.ajax({
url:“/text.php”
})
.done(函数(数据){//从php文件获取的数据
//将数据加载到div中
$('#targetDiv').html(数据);
});
/*
//这也会起作用
$(“#targetDiv”).load('text.php');
*/
})
对于您尝试执行的操作,简单的答案是将单击事件绑定到目标div内的锚定标记,并再次显式地将内容加载到该div
$( "#targetDiv a" ).click(function() {
$('#targetDiv').load(this.href);
});
正如另一个注释所示,您似乎一直在期待类似iframe的行为,这可能是您为此而使用的元素。[update]我希望它充当iframe,即链接在框架内加载;但是,如果让人更容易理解的话,可以在div中加载。你能告诉我们你的链接是什么样子吗?@showdev sure在
test.php
页面上,该页面加载在targetDiv
中,我的链接看起来像
听起来像AJAX请求?load()
OP是$的快捷方式。ajax
当我使用此脚本时,它不会将text.php文档加载到targetDiv中?这些元素在运行时不存在我还建议单击事件,因此,链接不会以其本机方式进行跟踪。好吧,我不知道为什么,但我是否正确使用了它,因为页面没有加载到div中,这里<代码>$(“#targetDiv a”)。单击(函数(){$('#targetDiv')。加载('/text.php');})@LewisTyler如果我理解正确,您打算单击该text.php内容中的链接(假定该链接已加载到document ready函数中),然后将其加载到同一个div中(覆盖之前该div中的内容)。我想要的代码(这在@charlieftl的回答中是正确的)只是做了后者,获取任何可点击的链接并将其加载到您的div中。在特定的用例中,它就像将他的答案附加到您现有的代码中一样简单。我可以确认我使用的是正确的,因为我无法让它加载页面;在这一行,我使用$('#targetDiv').load('/text.php')代码>但是,它不会在div中加载任何内容。但这将始终加载相同的页面。你说你想在内容中加载链接是我理解的。哦,对了,那太好了,我也可以这样做,我真的很抱歉最后一个问题,但是如果我想在targetdiv中加载链接,我真的很抱歉。因此,例如,如果一个链接被放置在div外部以加载到div中,那么例如,如果一个链接被放置在div外部以加载到div中,那么您需要按类或父类(如$('#nav a')将其作为目标。单击..