Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   2 клика, вместо одного (https://javascript.ru/forum/jquery/25977-2-klika-vmesto-odnogo.html)

Harvey 21.02.2012 17:09

2 клика, вместо одного
 
Привет, друзья!

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

$('#dataControl').on('click', '#colorSelector', function(){
  $(this).addClass('active');
  $('.active').ColorPicker({color: '#0000ff'});
});


Но проблема в том, что метод ColorPicker вызывается только после повторного нажатия. Суть проблемы ясна - добавление класса и его поиск не укладывается в пределы одной обработки.

Отсюда у меня 2 вопроса:

1)Как именно обрабатывается данная функция? Почему так происходит?

2)Как решить эту проблему?

Спасибо

dimon888951 21.02.2012 22:54

Цитата:

Сообщение от Harvey (Сообщение 158926)
Привет, друзья!

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

$('#dataControl').on('click', '#colorSelector', function(){
  $(this).addClass('active');
  $('.active').ColorPicker({color: '#0000ff'});
});


Но проблема в том, что метод ColorPicker вызывается только после повторного нажатия. Суть проблемы ясна - добавление класса и его поиск не укладывается в пределы одной обработки.

Отсюда у меня 2 вопроса:

1)Как именно обрабатывается данная функция? Почему так происходит?

2)Как решить эту проблему?

Спасибо

Совсем мало опыта ,но мне думается, что обработчик стоит именно на первое событие и дальше его действие не распространяется.то есть в данном случае необходимо написать еще один обработчик для второго действия.ИМХО
Или вообще по другому переписать скрипт

Harvey 24.02.2012 17:18

Спасибо) разобрался


Часовой пояс GMT +3, время: 18:13.