0
var li = $("<li>").attr({
    id: "print",
    click: function(e){
     alert(this);
     console.log(this);
    }
 });

このコードを試しましたが、コードがHTMLを生成するのが早く呼び出されます。

4

5 に答える 5

2
var li = $("<li>",{
    id: "print"            //the second parameter accepts properties as an object
}).on('click',function(e){ //.on() binds the event to that element
    console.log(this);
});

または代わりに:

var li = $("<li>",{
    id: "print"            //the second parameter accepts properties as an object
    click: function(e){    //attach the event as part of the properties
        console.log(this);
    }
});
于 2012-11-27T08:11:33.143 に答える
1

これを試して:

var li = $('<li>').attr({
    id: "print"
}).click(function() {
    alert(this);
    consol.log(this);
});
于 2012-11-27T08:11:19.400 に答える
0

.on() を使用してイベントをタグにバインドできます

例:

$('li#print').on('click',function(e){
  alert("Something" + $(this));

});
于 2012-11-27T08:11:44.047 に答える
0

「クリック」方式を使用します。

var li = $("<li>").attr({
   id: "print"
}).click(function(e) {
   alert(this);
   console.log(this);
});

または、動的に生成された要素にイベントを添付する場合は、$.live関数を使用します。jQuery モバイルを使用している場合は、別の答えを言わなければなりません。

于 2012-11-27T08:12:03.680 に答える
0

イベントバブリングを利用して、委任されたイベントリスナーを親ノードにアタッチすることができます。そうすることで、要素を実際に DOM に追加する前に、イベント リスナーをアタッチできます。

または、イベント リスナーをアタッチする前に要素を DOM にアタッチすることもできます。

$("<li>")
    .attr({ id: "print"})
    .appendTo("body") // Or wherever you want to put it
    .on("click", function(e){
       alert(this);
       console.log(this);
    }); 
于 2012-11-27T08:12:21.883 に答える