Отследить изменение блока <div>

232
11 августа 2017, 01:17

На сайте вывод результатов поиска — постраничный. При этом переход к другой странице происходит «прозрачно», без перезагрузки страницы целиком — меняется лишь содержимое определённого блока <div>.

Мне нужно вызывать alert('Changed!') каждый раз, как я перехожу к новой странице c результатами поиска.

  1. Щелчок по номеру страницы
  2. Результаты поиска загружаются фоново
  3. Перед самым отображением происходит вызов alert('Changed!')
  4. Страница отобразилась на экране
  5. GOTO 1
Answer 1

Если именно после завершения запроса и до вывода данных, то я вижу пока два варианта:

  1. Вписать ваш alert перед кодом, который выводит данные на страницу (Ваш К.О.)
  2. В jQuery, в методе $.ajax(), есть функция dataFilter, которая вызывается в момент получения данных в ответе с сервера и до вызова success.

    $.ajax({
        /*
        Other settings
        */
        dataFilter: function() {
            console.log('dataFilter');
        },
        success: function() {
            console.log('success');
        }
    });
    

MutationObserver, метод complete в $.ajax() и т.д. - для вашей задачи вряд ли подойдут.

P.S. Вы конечно же почитаете документацию, но не забудьте, что метод dataFilter предназначен для кастомной обработки "сырых" данных и должен их возвращать (пример в песочнице).

$.ajax({
    /*
    Other settings
    */
    dataFilter: function(data, type) {
        // some code
        return data; // necessarily!
    },
    success: function(data) {
        // output
    }
});
READ ALSO
Помогите доделать javascript slider

Помогите доделать javascript slider

Как сделать круги под слайдеромМожет через какое-то условие или цикл? Например: если нажимаешь на 5-й круг, была 5-я фотография

252
Как отнять подстроку у ID элемента

Как отнять подстроку у ID элемента

Хочу отнять подстроку у IDВот этот код выводит NaN:

241
Offset() undefined, div внутри td

Offset() undefined, div внутри td

Здравствуйте, не пойму почему у div, который я добавляю внутрь td не определено свойство offset? div'ы добавляются и нормально отображаютсяВот код:

210