我想知道是否有人可以帮助或指出我的方向。我想制作一个像测验一样的网络应用程序。我需要的是能够从动态创建按钮或href加载动态内容,在这种情况下将链接到其他内容。到目前为止它似乎没有起作用,因为我每次单击按钮都会找不到页面。似乎没有通过名称传递.php。我已经在dynmaic内容div之外测试了它并且它工作正常但我真的需要它在里面工作。 到目前为止我所拥有的:
的index.php
<body>
<div class="container_12">
<div id="content">
<!--dynamic content loads here-->
</div>
</div>
</body>
的login.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;
});
});
Suitable.php
<h1> Working </h1>
<!-- content thats not loading off button-->
答案 0 :(得分:2)
您应该为动态加载的元素委派click
事件,请尝试以下操作:
$('#content').on('click', 'a', function(e) {
e.preventDefault()
var page = $(this).attr('href');
$('#content').load('pages/' + page +'.php');
});
答案 1 :(得分:0)
$(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
绑定执行时,a
中没有div#content
,因此选择器返回一个空数组,并且不会发生绑定。
答案 2 :(得分:-1)
尝试使用Live
代替click
//处理小部件点击
$('div#content a').live('click',function() {
var page = $(this).attr('href');
$('#content').load('pages/' + page +'.php');
return false;
});