我想知道是否有人能帮助我或为我指明方向。我想做一个像测验一样的网络应用程序。我需要的是能够从动态创建的按钮或href加载动态内容,在这种情况下,它将链接到其他内容。到目前为止,它似乎不起作用,因为我每次点击按钮都会得到一个找不到的页面。似乎没有通过名称传递.php。我已经在dynmaic内容div外部测试过了,它运行良好,但我真的需要它在内部运行。到目前为止我所拥有的:
index.php
<body>
<div class="container_12">
<div id="content">
<!--dynamic content loads here-->
</div>
</div>
</body>
登录.php
<h1> Login Page </h1>
<p> this is a test to c if works </p>
<a href='Suitable'>Hello</a> <!--button that doesnt work-->
general.js
$(document).ready(function() {
//initial
$('#content').load('Login.php');
//Handle widget Clicks
$('div#content a').click(function() {
var page = $(this).attr('href');
$('#content').load('pages/' + page +'.php');
return false;
});
});
合适的.php
<h1> Working </h1>
<!-- content thats not loading off button-->
您应该为动态加载的元素委派click
事件,请尝试以下操作:
$('#content').on('click', 'a', function(e) {
e.preventDefault()
var page = $(this).attr('href');
$('#content').load('pages/' + page +'.php');
});
$(document).ready(function() {
//initial
$('#content').load('Login.php', function(){
//Handle widget Clicks
$('div#content a').click(function() {
var page = $(this).attr('href');
$('#content').load('pages/' + page +'.php');
return false;
});
});
});
说明:
load
是异步的。JS引擎不会等到它完成后才转到下一行。结果是,当执行click
绑定时,div#content
中没有a
,因此选择器返回一个空数组,不会发生绑定。
尝试Live
而不是click
//处理小部件点击
$('div#content a').live('click',function() {
var page = $(this).attr('href');
$('#content').load('pages/' + page +'.php');
return false;
});