Проблема с селекторами(наверно)
Вот скрипт:
// начиная отсюда и до
$('.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, время: 04:15. |