2

誰かが私を助けたり、ある方向に向けたりできるかどうか疑問に思いました。クイズのようなWebアプリケーションを作りたいと思っています。私が必要としているのは、動的に作成されたボタンまたはこの場合は他のコンテンツにリンクするhrefから動的コンテンツをロードできるようにすることです。これまでのところ、ボタンをクリックするたびにページが見つからないという点で機能していないようです。名前に.phpを渡していないようです。私はこれを動的コンテンツ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;

    });
});

適切な.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 に答える