0

私はJavascriptでアプリケーションを書いています。詳細は省きますが、ボード (実際には単なる HTML テーブル) を使用したゲームがあります。ユーザーは s をクリックしてボードとやり取りするので、$(document).ready() にクリック イベント リスナーを用意します。イベント ハンドラーは、いくつかの変数/オブジェクト/etc の状態を変更してから、それらすべてのオブジェクトの状態を読み取り、.

私が抱えている問題は、 new の がイベント ハンドラーによって監視されていないことです。つまり、クリック イベントが検出されなくなりました。イベント ハンドラーを新しい s に誘導したり、ボード上のクリックを引き続き検出したりするにはどうすればよいですか? これが私のコードです:

$(document).ready(function(){
    layoutBoard();
    $("td").click(
        function() {
            movePiece($(this));
        }
    );
});

function movePiece(clickedCell){
    //do stuff
    layoutBoard();
}

function layoutBoard(){
    $("#board").empty();
    //recreate board and new <td>s
}
4

2 に答える 2

2

イベント委任で使用

$(document).on("click","td",function(){
     movePiece($(this));
});

最も近い静的親コンテナーに委任する方が良いです...

お気に入り

$('#tableID').on("click","td",function(){
     movePiece($(this));
});
于 2013-04-26T10:05:43.273 に答える