0

$.get() を div に使用して、php から div に javascript を使用して html をロードしています。ボタンクリックイベントは正常に機能しています。次に、同じものを別の id の別の div に再度追加しますが、機能していません。誰でも私を助けることができますか?私のコードはこれです

<style>
    .loadWindow {
        width:333px;
        height: 202px;
        padding: 5px 5px 0 5px;
        font: 12px Arial, Helvetica, sans-serif;
        border:double;
    }

    #loadWindow {
        display:none;
    }

<div id="main-box">
<div class="loadWindow" id="loadWindow"></div><button id="make">make</button>

私のjavascriptコードは以下です

$(function(){
    $('#make').click(function(){
        var id = $('.loadWindow').length;
        var aw = $('#loadWindow').clone().attr("id", "window"+id);

        //load data from php
        $.get("mydata.php", function(data) {
            aw.html(data);  
            $('#main-box').append(aw);
            aw.show();
        }, 'json');
    });
});

`

私のmydata.phpコードは以下です

echo '<div><button id="closeBtn">Close</button></div><script>$("#closeBtn").click(function(){alert("Close button Clicked!");});</script>';

ウィンドウごとに個別に(個別に)クリックイベントが機能し、アラートを表示したい。このコードでは、ウィンドウに従ってクリック イベントが機能していません。私に何ができる?

4

2 に答える 2

0

実際のデモ http://jsfiddle.net/QYEWs/13/

API を使用.onして、選択した要素に 1 つ以上のイベントのイベント ハンドラー関数を追加してください。

API: http://api.jquery.com/on/

Plz 注: ID は常に同じでクラスになるため、追加すると DOM が無効になります

DOM に動的に追加された html にクリック イベントをアタッチするには

これは役立つはずです、:)

このような

次のようなアタッシェ クリック イベントでボタンを閉じます。

$("#main-box").on("click",".closeBtn", function() {
    alert("Close button Clicked!");
});​


$(function(){
    $('#make').on('click', function(){
        var id = $('.loadWindow').length;
        var aw = $('#loadWindow').clone().attr("id", "window"+id);

        //load data from php
        $.get("mydata.php", function(data) {
            aw.html(data);  
            $('#main-box').append(aw);
            aw.show();
        }, 'json');
    });
});
于 2012-06-30T04:50:16.400 に答える
0
$(function(){
    $('#make').click(function(){
        var id = $('.loadWindow').length;
        var aw = $('#loadWindow').clone(true).attr("id", "window"+id);
        //load data from php
        $.get("mydata.php", function(data) {
            aw.html(data);  
            $('#main-box').append(aw);
            aw.show();
        }, 'json');
    });
});
于 2013-04-30T14:23:09.627 に答える