jQuery - функция щелчка по классу, добавленному через 'addClass', не отвечает - PullRequest
2 голосов
/ 23 апреля 2011

Я добавил класс через 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 на моем тестовом сервере по крайней мере.

1 Ответ

4 голосов
/ 23 апреля 2011

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


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

...