Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.12.2011, 22:58
Профессор
Отправить личное сообщение для Dorian_bs Посмотреть профиль Найти все сообщения от Dorian_bs
 
Регистрация: 24.03.2011
Сообщений: 217

Не работает кнопка через 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 как положено)
Помогите, направьте, посоветуйте)
Ответить с цитированием
  #2 (permalink)  
Старый 02.12.2011, 09:12
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от Dorian_bs
Ведь я же использую live как положено
Кем и для чего положено?

Какая задача вообще должна выполняться? Просто менять один класс на другой?
Зачем два клика вешается? Да еще с использованием live()...
Ответить с цитированием
  #3 (permalink)  
Старый 02.12.2011, 23:24
Профессор
Отправить личное сообщение для Dorian_bs Посмотреть профиль Найти все сообщения от Dorian_bs
 
Регистрация: 24.03.2011
Сообщений: 217

Нужно, что бы при нажатии на кнопку, класс все время менялся)
Ответить с цитированием
  #4 (permalink)  
Старый 02.12.2011, 23:29
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Dorian_bs, так и напиши это в одном обработчике. Зачем их делать два?
Ответить с цитированием
  #5 (permalink)  
Старый 02.12.2011, 23:52
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

<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>

Последний раз редактировалось devote, 02.12.2011 в 23:56.
Ответить с цитированием
  #6 (permalink)  
Старый 03.12.2011, 00:13
Профессор
Отправить личное сообщение для Dorian_bs Посмотреть профиль Найти все сообщения от Dorian_bs
 
Регистрация: 24.03.2011
Сообщений: 217

Спасибо!)
Ответить с цитированием
  #7 (permalink)  
Старый 03.12.2011, 19:05
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

можно короче
<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., 03.12.2011 в 19:09.
Ответить с цитированием
  #8 (permalink)  
Старый 04.12.2011, 02:29
Профессор
Отправить личное сообщение для Dorian_bs Посмотреть профиль Найти все сообщения от Dorian_bs
 
Регистрация: 24.03.2011
Сообщений: 217

Pavel M.,
спасибо!)
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не работает live() Enxiro jQuery 1 03.07.2011 21:13
Не корректно работает Submit() через JS Oparin Элементы интерфейса 8 30.03.2011 16:20
скрипт работает в IE через раз jsVAN Internet Explorer 2 10.03.2011 03:27
Кнопка становится активной через 20 сек Артем125 Общие вопросы Javascript 1 16.09.2010 09:59
Не работает кнопка "Назад" savagden Javascript под браузер 3 10.12.2009 20:25