iNickolay
@iNickolay

JQuery не работает на подгруженных слоях?

Кусок кода выпадающего меню, всё работает прекрасно.
Проблемма, при подгрузке данных (в которых содержаться эти самые выпадающие списки)
$('.load').on('click', 'a', function () {
	var name = this.id,
	root = $(this).closest('.header-table').find('.load-data');
        $.get("mach/" + name + ".html", function (data) {
	$(root).html(data);
	});
});

При нажатии на кнопку - ничего не происходит.
Может кто-нибудь сталкивался, и знает как решить эту проблему :(

UPD:
Ребят, суть в чём: на странице всё работает ОТЛИЧНО, так как мне и надо.
но если я подгружаю файл, в котором есть этот выпадающий список - то при нажатии на баттон - ничего не происходит.
Т.е. проблема только в том, что баттон не работает после того, как он получен через $.get
  • Вопрос задан
  • 294 просмотра
Решения вопроса 1
maximw
@maximw
Вот ваш код который ставит действие по клику на кнопку.
$('.prefix-warp').on('click', '.prefix', function () {
        $(this).parent().find('ul.dropdown').css('display', 'block');
    });

Если элемент .prefix-warp также подгружается аяксом (.get()), то работать не будет. Вместо него нужно указать какой-то контейнер (другой элемент), который не подгружается, а уже есть на стрнице.

Например:
$('.load').on('click', 'a', function () {
  var name = this.id,
  root = $(this).closest('.header-table').find('.load-data');
        $.get("mach/" + name + ".html", function (data) {
  $(root).html(data);
  });
});
  $('.load-data').on('click', '.prefix', function () {
        $(this).parent().find('ul.dropdown').css('display', 'block');
    });
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы