0

これらのサンプルコードを見てください。

我々は持っています

​    <div class="ex"></div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

そして、jqueryコードがあります。

1-オンの場合

$('.ex').append("<div class='text'>object-1</div>");

$('.text').on({

    hover: function(e) {
        if (e.type === "mouseenter")
        {      
            $(this).css('color','green');
        }
        else if (e.type === "mouseleave")
        {
            $(this).css('color','black'); 
        }
    },
    click: function()
    {
        $(this).css('color','red');
    }

});

$('.ex').append("<div class='text'>object-2</div>");

2-ライブあり

$('.ex').append("<div class='text'>object-1</div>");

$('.text').live({

    hover: function(e) {
        if (e.type === "mouseenter")
        {      
            $(this).css('color','green');
        }
        else if (e.type === "mouseleave")
        {
            $(this).css('color','black'); 
        }
    },
    click: function()
    {
        $(this).css('color','red');
    }

});

$('.ex').append("<div class='text'>object-2</div>");

問題は、jqueryが.onを使用してobject-2で機能していないことです。.liveは非推奨であり、避ける必要があります。ただし、.onは動的コンテンツでは機能しません。.onを使用して動的コンテンツでjqueryコードを実行するにはどうすればよいですか?

4

1 に答える 1

0

.on動的コンテンツで機能しますが、そのように別のバージョンを使用する必要があります...

$("static-scope-selector").on("event", "dynamic-content-selector", function{...});

したがって、マークアップでは、次のようなものを使用します。

$("div.ex").on("hover", ".text", function(e) {...})
        .on("click", ".text", function(e) {...});
于 2012-09-27T17:11:06.223 に答える