var li = $("<li>").attr({
id: "print",
click: function(e){
alert(this);
console.log(this);
}
});
我已经尝试过这段代码,但它会在代码生成HTML时尽快调用。
答案 0 :(得分: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);
}
});
答案 1 :(得分:1)
试试这个:
var li = $('<li>').attr({
id: "print"
}).click(function() {
alert(this);
consol.log(this);
});
答案 2 :(得分:0)
您可以使用.on()
将事件绑定到标记一个例子:
$('li#print').on('click',function(e){
alert("Something" + $(this));
});
答案 3 :(得分:0)
使用'click'方法。
var li = $("<li>").attr({
id: "print"
}).click(function(e) {
alert(this);
console.log(this);
});
或者,如果要将事件附加到动态生成的元素,请使用$.live
函数。
如果你使用jQuery mobile,我必须说另一个答案。
答案 4 :(得分: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);
});