2011-04-23 99 views
2

我已經通過addClass添加了一個類。我有一個onclick函數用於添加的類。但是,jQuery忽略我爲該類創建的點擊功能。jQuery - 點擊通過'addClass'添加的類的功能不響應

我測試過它的jsfiddle here

<style type="text/css"> 
.openInfo:hover{color:red} 
.closeInfo:hover{color:blue} 
</style> 

<div class="openInfo">OPEN</div> 

<script> 
$('.openInfo') //executes correctly 
    .click(function() { 
     $(this).text("CLOSE"); 
     $(this).addClass('closeInfo'); 
     $(this).removeClass('openInfo'); 
}); 

$('.closeInfo') //ignored 
    .click(function() { 
     $(this).text("OPEN"); 
     $(this).addClass('openInfo'); 
     $(this).removeClass('closeInfo'); 
}); 
</script> 

順便說一句,由於某種原因,代碼沒有上的jsfiddle作品,如果我用1.5.2? 這必須是一個jsfiddle錯誤嗎?因爲我至少在測試服務器上得到了1.5.2的相同結果。

回答

4

既然你加入這個類動態,你需要live沒有點擊:

 

$('.closeInfo') //ignored 
    .live("click", function() { 
     $(this).text("OPEN"); 
     $(this).addClass('openInfo'); 
     $(this).removeClass('closeInfo'); 
}); 
 
+0

唉唉。現在我明白了我看到的'live'的用法。乾杯:-) – RGBK 2011-04-23 15:28:11