Задать вопрос

Как обновить привязку к css стилю скрипта?

Всем привет!
Не знаю как точно сформулировать. Но есть контент, который подтягивается через ajax из другой html страницы. На этой странице есть элементы со стилем "open-info". У меня есть потребность, чтобы данные элементы работали как кнопки и выполняли определенную функцию, в связи с чем скрипт:
$(".open-info").click(function () {
    if ($(this).parent().hasClass("height-auto"))
        $(this).parent().removeClass("height-auto");
    else
        $(this).parent().addClass("height-auto");
});


Пока элементы находились в исходной странице (в разметке) все работало, но сейчас они находятся в другой странице (т.е. есть базовая - index.html, в нее скриптом тянется контент из других страниц, типа content1.html, content2.html и т.д.) и нажатие на такие элементы работать перестало.
Скрипт, который тянет данные:
$(".commands-list").click(function () {
    var block = $(this).data('id');
    var url = "Commands/" + block + ".html";
    commCont.html('');
    if (oldBlock != block) {
        $.ajax({
            url: url,
            cache: false,
            success: function (html) {
                commCont.html(html);
            }
        });
    }
    oldBlock = oldBlock == block ? '' : block;
});

Как обновить привязку скриптом ко стилям?
  • Вопрос задан
  • 90 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Stalker_RED
@Stalker_RED
Это называется делегирование событий.

Если повесить обработчик на "стабильный" родительский блок то не нужно ничего обновлять.
commCont.on('click', '.open-info', function() {
  $(this).parent().toggleClass("height-auto")
})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы