Проблема с селекторами(наверно)
Вот скрипт:
// начиная отсюда и до $('.accordion-active-container-title').click(function (e) { e.preventDefault(false); // отменяю дейстие ссылки $(this).next('.accordion-active-content').slideToggle(1000); $(this).removeClass().toggleClass('accordion-inactive-container-title'); }); //до этого момента все работает, а дальше нет //незнаю причины... // тут я как бы обращаюсь к элементу который динамически уже изменил только что сам, $('.accordion-inactive-container-title').click(function (e) { alert ('torololo'); // ничего не дает }); |
// начиная отсюда и до
$('.accordion-active-container-title').click(function (e) { e.preventDefault(false); // отменяю дейстие ссылки $(this).next('.accordion-active-content').slideToggle(1000); $(this).removeClass().toggleClass('accordion-inactive-container-title'); alert ('torololo'); }); |
Еще один. Да сколько же вас таких... jquery-головых...
Все беды от того что суются в jquery не разобравшись с основами. $('.accordion-inactive-container-title') - делается выборка по селектору. На момент исполнения этой строчки кода нет ни одного элемента с таким классом, поэтому функция $ вернет пустой массив (верней array-like объект). Соответственно функции .click() не на что вешать обработчик и она благополучно отрабатывает "вхолостую", не делая абсолютно ничего. Если так сильно хочется писать в подобном стиле, используют делегирование обработки событий. Это позволяет проверять соответствие селектору в момент события (вместо незамедлительной выборки по селектору в момент исполнения кода): $('.accordion').on('click', '.accordion-inactive-container-title', function() {...}); |
Цитата:
|
Что то такое:
$('.col-md-12').on('click', '.accordion-active-container-title', function (e) { e.preventDefault(); $(this).removeClass().toggleClass('accordion-inactive-container-title').next().slideUp('normal'); }); $('.col-md-12').on('click', '.accordion-inactive-container-title', function (e) { e.preventDefault(); $(this).removeClass().toggleClass('accordion-active-container-title').next().slideDown('normal'); }); Решает проблему =) Если кто столкнется. |
Часовой пояс GMT +3, время: 16:42. |