Здравствуйте. Тема очень заезженная, но я ответа так и не смог найти. Всем известно, что после подгрузки данных AJAX остальные скрипты выполняться не будут. Нужно, их инициализировать через success, ajaxComplete и т.п. Но я нигде не нашел решения относительно нативного javascript. Все решения касаются jQuery! Так получилось, что часть кода (фотогалерея) написана на нативном javascript. Весь код выкладывать думаю незачем. Листаются фотографии так:
var gallery = new Gallery(sources);
Array.prototype.forEach.call(links, function(link, index) {
link.onclick = function() {
gallery.show(index);
};
});
Как мне заставить данный код работать? Методы success, ajaxComplete пригодны только для jQuery. Возможно, выше код попытаться привязать к jQuery, но как такое сделать - не знаю.
Утка Учится Уму - вы правы. Надо добавить код вызова.
var WORKS_METHOD ={
handlerData:function(resJSON){
var templateSource = $("#works-template").html(),
template = Handlebars.compile(templateSource),
worksHTML = template(resJSON);
$('#works-container').html(worksHTML);
},
loadWorksData : function(){
$.ajax({
url:"https://path/to/worksdata.json",
method:'get',
success:this.handlerData
})
}
};
$(document).ready(function(){
WORKS_METHOD.loadWorksData();
});
Вызов AJAX подгружает превьюшки фотографий, по клику на которые вызывается данная галерея. Вы предлагаете переписать вызов на xmlHTTPRequest?
Используйте событийные функции jQuery.on - у вас есть ссылки, так что делайте аналогично примерам в документации:
$( ".myLinkClass a").on( "click", function() {
var index = 0;
// Вычисляем index для показа соответствующей галереи
// ...
// Показываем её
gallery.show(index);
});
Индекс можно хранить в ссылке в data атрибуте, или же вычислять динамически.
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть скрипт когда пытаюсь сделать превью то превю фото не открывается, но если готовое фото вставить то все работает по ссылке то есть так...
Какое событие нужно использовать, чтобы оно срабатывало каждый раз, когда в инпут добавляется новый символ?on('change') срабатывает только тогда,...