jQuery — функция щелчка по классу, добавленному через addClass, не отвечает

Я добавил класс через addClass. У меня есть функция onclick для этого добавленного класса. Однако jQuery игнорирует функцию щелчка, которую я создал для этого класса.

Я протестировал его на JSFIDDLE здесь

 <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, по крайней мере, на моем тестовом сервере.


person RGBK    schedule 23.04.2011    source источник


Ответы (1)


Поскольку вы добавляете этот класс динамически, вам нужно live не нажимать:


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

person locrizak    schedule 23.04.2011
comment
ааа. Теперь я понимаю использование слова «живой», которое я вижу вокруг. Ваше здоровье :-) - person RGBK; 23.04.2011