#jquery #function #click #addclass #removeclass
#jquery #функция #нажмите #addclass #removeclass
Вопрос:
Я добавил класс через addClass . У меня есть функция onclick для этого добавленного класса. Однако jQuery игнорирует функцию click, которую я создал для этого класса.
Я протестировал это на 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:
Поскольку вы добавляете этот класс динамически, вам нужно действовать, а не нажимать:
$('.closeInfo') //ignored
.live("click", function() {
$(this).text("OPEN");
$(this).addClass('openInfo');
$(this).removeClass('closeInfo');
});
Комментарии:
1. аааа. Теперь я понимаю, как использовать ‘live’, который я вижу вокруг. Приветствия 🙂