Обработчик собитый и 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 не помог


Ответы (0 шт):