2

我想知道是否有人能够帮助或指出我的方向。我正在寻找像测验一样的网络应用程序。我需要的是能够从动态创建的按钮或 href 加载动态内容,在这种情况下,它将链接到其他内容。到目前为止,它似乎没有起作用,因为每次单击按钮时我都找不到一个页面。似乎没有通过名称传递.php。我已经在动态内容 div 之外对其进行了测试,它工作正常,但我真的需要它在内部工作。到目前为止我所拥有的:

索引.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-->

通用.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-->
4

3 回答 3

2

您应该为动态加载的元素委托click事件,请尝试以下操作:

$('#content').on('click', 'a', function(e) {
    e.preventDefault()
    var page = $(this).attr('href');
    $('#content').load('pages/' + page +'.php');
});
于 2012-07-21T04:20:52.950 回答
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绑定执行时没有ain div#content,所以选择器返回一个空数组并且没有绑定发生。

于 2012-07-21T04:25:35.360 回答
-1

尝试Live代替click

//处理小部件点击

$('div#content a').live('click',function() {
    var page = $(this).attr('href');
    $('#content').load('pages/' + page +'.php');
    return false;

});
于 2012-07-21T04:18:00.873 回答