Не работает кнопка через live
Всем привет!
Столкнулся с проблемой в live. Например есть код: <div class="test1">Кнопка</div>
$('.test1').live('click', function () {
$(this).removeClass('test1').addClass('test2');
alert();
});
$('.test2').live('click', function () {
$(this).removeClass('test2').addClass('test1');
alert();
});
Дело следующее. При нажатии на "Кнопка" выполняется первая функция, которая меняет класс блока с "test1" на "test2". Далее снова нажимаем на блок и класс меняется с "test2" на "test1". После этой процедуры все перестает работать. То есть при повторном нажатии на блок с классом "test1" функция не выполняется. В чем дело? Ведь я же использую live как положено) Помогите, направьте, посоветуйте) :yes: :thanks: |
Цитата:
Какая задача вообще должна выполняться? Просто менять один класс на другой? Зачем два клика вешается? Да еще с использованием live()... |
Нужно, что бы при нажатии на кнопку, класс все время менялся)
|
Dorian_bs, так и напиши это в одном обработчике. Зачем их делать два?
|
<style type="text/css">
.test1 {
color: #f00;
}
.test2 {
color: #0f0;
}
</style>
<div class="test1">Кнопка</div>
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$('.test1').click(function () {
$(this).hasClass('test1') ? $(this).removeClass('test1').addClass('test2') : $(this).removeClass('test2').addClass('test1');
});
</script>
|
Спасибо!)
|
можно короче
<style type="text/css">
.test1 {
color: #f00;
}
.test2 {
color: #0f0;
}
</style>
<div class="test1">Кнопка</div>
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$('.test1').click(function () {
$(this).toggleClass('test1 test2');
});
</script>
|
Pavel M.,
спасибо!) |
| Часовой пояс GMT +3, время: 03:45. |