2011-04-23 73 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