Не работает кнопка через 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, время: 18:37. |