6

次のようなjQueryコードがあります。

$("#add").click(function(event){
    $("#list").append('<a class="remove" href="#">x</a>');

    return false;
});

$('.remove').live('click', function(){
    alert("123");
});

class=remove をクリックすると、123 を警告したいと思いますが、これは起こりません。これは単純なアイデアだと思いますが、何かが欠けているに違いありません。

何か案は?

ありがとう。

4

3 に答える 3

11

Live は非推奨です。次で使用してください

$(document).on('click','.remove',function(){
alert("123");
});
于 2013-02-12T13:06:18.960 に答える
2

委任なしで要素を追加してイベントをバインドする別の方法:

$("#add").click(function(event){
    $("<a />", {
        "class": "remove",
        href: "#",
        text: "x"
    }).on("click", function() {
        alert("123");
        return false;
    }).appendTo("#list");

    return false;
});

メソッドの使用は避けてくださいlive。これは、jQuery の最後のバージョンで廃止され、最終的に削除されたためです。

于 2013-02-12T13:07:37.727 に答える
2

デリゲート関数を試してください..それを追加しているので...パフォーマンスが優れている方をlist使用できます#listdocument

 $('#list').on('click','.remove', function(){
     alert("123");
});

リンクからon()イベントの詳細を読むことができます

于 2013-02-12T13:16:53.517 に答える