Обработчик собитый и jQuery, Ajax
Есть проблема с обработчиком события click в jQuery. У меня в данный момент обработчик вызывается раньше, чем происходит загрузка данных через ajax. Как можно сделать, чтобы обработчик события вызывался уже после загрузки всего DOM? Я знаю про синхронный запрос, но от него сейчас отказываются, насколько я слышал. Другие способы что то не подошли, какие я пробовал. Код такой
$(document).ready(function () {
let review = new Review('review');
review.render($('#reviewsAll'));
$('.buttonBlock').on('click', '#approveReview', function () {
console.log("hello");
});
});
И ajax запрос
Review.prototype.loadReview = function () {
let loadedBlock = $('#reviewsAll');
$.get ({
url: 'js/reviews.json',
// async: false,
datatype: 'json',
context: this,
success: function (allReviews) {
let reviewData = $('<div></div>', {
id: 'review_data'
})
this.countReviews = allReviews.review.length;
reviewData.append(`<p class = "countReviews">Всего отзывов: ${this.countReviews}</p>`);
loadedBlock.append(reviewData);
for( let itemkey in allReviews.review) {
this.massivReview.push(allReviews.review[itemkey]);
};
this.showReview(this.massivReview);
}
})
};
Этот самый ajax запрос у меня выполняется после объявления обработчика событий, а мне нужно, чтобы было наоборот. window.onload не помог