jQuery - 通过'addClass'添加的类上的click函数没有响应

时间:2011-04-23 14:58:55

标签: jquery function click addclass removeclass

我通过addClass添加了一个类。我为这个添加的类有一个onclick函数。但是jQuery忽略了我为该类创建的click函数。

我在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>

顺便说一句,出于某种原因,如果我使用1.5.2, none 代码可以在jsfiddle上运行? 这必须是一个jsfiddle错误吗?我至少在测试服务器上使用1.5.2得到了相同的结果。

1 个答案:

答案 0 :(得分:4)

由于您动态添加了此类,因此您需要live而不是单击:


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