1

だから私の問題はここにあります: http://jsfiddle.net/hskhu/

「Rejestracja」リンクをクリックすると、div の内容が変更されますが、その後、「logowanie」リンクをクリックしようとすると何も問題になりません。なぜ誰かが私を助けてくれるのかわかりません。Rejestracja と logowanie のコンテンツを含むすべての div は、display:none 属性を持つ html の下にあります。

ここにJS:

<script>
    $(document).ready(function(){
        $('#change').click(function(){
            var $which = $(this).html();
            var $wyjmij = $('#' + $which).html();
            $('#loginbox').html($wyjmij);
        });
    });
</script>
4

1 に答える 1

2

id を持つ要素にイベントをバインドしてい#changeます。リンクがクリックされたときに要素を置き換えています。つまり、現在のバインドされたイベントには有効なターゲットがありません。

イベントをより近い静的要素にバインドし、イベントを#change.

を使用してこれを行うことができますon()on() ドキュメント
セクションを確認してください。Direct and delegated events

コードを次のように変更します。

$(document).ready(function(){
    $("#loginbox").on("click", "#change", function(){
        var $which = $(this).html();
        var $wyjmij = $('#' + $which).html();
        $('#loginbox').html($wyjmij);
    });
}); 

デモ#loginbox-ターゲティングへのバインドによる動的バインディングの使用#change

于 2012-12-05T14:01:09.790 に答える