2014-04-14 68 views

回答

3

的問題是在我看來,一個複製粘貼錯誤,您使用

$(".change_into_red").mouseenter(function(){ 
$(".this").addClass("red"); 
}); 

當它應該是

$(".change_into_red").mouseenter(function(){ 
$(this).addClass("red"); 
}); 

而且,當您試圖加入這一行的HTML

var code_avec_html = '<span class="change_into_red">ROUGE</span> ET NOIR'; 

在jQuery的html函數中是這樣的

$(this).html(code_avec_html); 

它將努力顯示HTML,然而,打算在該HTML類工作的任何活動都只有他們工作委託。您當前的設置僅分配一次這些事件。爲了讓這些事件也適用於未來的元素,您需要使用delegate函數進行委派。

$("body").delegate(".change_into_red", "mouseenter", function() { 
$(this).addClass("red"); 
}); 

$("body").delegate(".change_into_red", "mouseleave", function() { 
$(this).removeClass("red"); 
}); 
+0

好的我改變了它。但在我的例子中仍然看下面的行;它並沒有解決問題。 –

+0

@ user3532990 - 請參閱修改。動態創建的元素需要委託給它們的事件。 –

+0

感謝您的編輯。它現在工作。以前從未聽說過代表。需要更新我想,我會詢問有關委託。再次感謝。 –

相關問題