我有()與.append添加DOM元素和喜歡的東西:live()和on()方法是不是等價的?
myObject.live({
mouseenter: function() { // do something
,這工作得很好,但在jQuery 1.7表明,我已經在改變了它()。但用on()相同的函數不起作用。我應該使用live()還是有一些我錯過了on()以使其與新的DOM節點一起工作?
由於jQuery的文檔指出,這些功能非常相似:
現場();
$("p").live({
click: function() {
$(this).after("<p>Another paragraph!</p>");
},
mouseover: function() {
$(this).addClass("over");
},
mouseout: function() {
$(this).removeClass("over");
}
});
on();
$("div.test").on({
click: function(){
$(this).toggleClass("active");
},
mouseenter: function(){
$(this).addClass("inside");
},
mouseleave: function(){
$(this).removeClass("inside");
}
});
後者將不會與添加.append()的新節點一起工作;這是正確的嗎?
你有沒有更換現場()與()或檢查在()規範的用法,並使其合適? – 2012-02-25 12:21:13
實際上我已經開始使用(),但看到它沒有按預期工作,我試過live(),這就是爲什麼我在這裏。 – Daniele 2012-02-25 12:25:30
我不相信他們是相等的 - 看到這個小提琴:http://jsfiddle.net/jeffz2012/eEzwd/1/ – Jeffz 2012-10-14 02:25:01