Перепривязка событий в Foundation 6 после добавления элементов в DOM через AJAX

У меня есть приложение rails с Zurb Foundation 6.3, и у меня есть функция бесконечной прокрутки на домашней странице, каждый элемент имеет ссылку на модальное окно отображения, модальное окно первого показанного элемента работает нормально, однако, когда я нажимаю на один из элементов загруженный через AJAX через функцию бесконечной прокрутки, не показывает модальное окно, оно просто не работает.

Я знаю, что мне нужно перепривязать события в элементах, загруженных через AJAX, я делал это в Foundation 5 через:

$(document).foundation({bindings: 'events'});

Однако это не работает с Foundation 6...


person svelandiag    schedule 12.01.2017    source источник


Ответы (2)


Это работает только с элементами Foundation, если вы пытаетесь перепривязать что-то, что не использует Zurb Foundation, это не будет решением проблемы.

Решение. Просто добавьте это в конец вызова AJAX.

$(документ).основа();

person Esteban Echeverry    schedule 27.01.2017

Здесь не показан код для работы, но я думаю, что вы получите общее представление.

Пока вы прокручиваете, элементы добавляются к некоторому родительскому элементу. Вам нужно найти родителя для всех извлеченных элементов, которые всегда есть.

Ради примера, родитель будет #container (или document, если нет другого общего родительского элемента), а извлеченные строки будут иметь кликабельный .item, который запустит вас ajax.

Ваш прослушиватель событий должен иметь следующий формат:

$('#container').on('click', '.item', function() {
    //whatever it is you do
});

Таким образом, вы привязываетесь к #container, который всегда есть, а не к .item.

Больше ничего делать не нужно, никаких перепривязок и прочего

person Ruby Racer    schedule 12.01.2017