Перехватывать при добавлении новых строк в таблицу

#javascript #jquery

#javascript #jquery

Вопрос:

В устаревшем приложении у меня есть таблица, в которой изначально отображается только подмножество доступных строк, чтобы соответствовать текущему размеру страницы. Когда пользователь прокручивает div, содержащий таблицу, автоматически добавляются новые строки с помощью javascript.

Что мне нужно сделать, так это иметь возможность перехватывать, когда эти строки добавляются в таблицу.
Вначале я проводил опрос с помощью метода setInterval, чтобы выполнить свою логику, но, к сожалению, это мешает бизнес-логике устаревшего приложения.

Я попробовал следующий код (примененный один раз к контейнеру div и один раз к таблице) без каких-либо результатов:

 $(document).ready(function()
{
  $('#myWebGrid1').change(function()
  {
    alert('changed!');
  });
});
  

Я попробовал также метод resize (), но он тоже не работает, так как при прокрутке размер div не изменяется.

Комментарии:

1. какую вспомогательную функцию прокрутки вы используете или создали? Может быть, вы могли бы реализовать некоторый обратный вызов при добавлении новых строк?

2. Можете ли вы опубликовать код javascript / jquery, в котором определено добавление строк? Я думаю, вы можете перехватить там, непосредственно перед созданием новых строк.

3. Я не использую никакого помощника прокрутки, эта логика и код являются частью устаревшего приложения. @iTypist: Я не вижу функцию javascript. Я пытался с помощью fiddler использовать имена файлов .js, поскольку импортировано множество внешних файлов, но поскольку веб-сайт работает по протоколу SSL, я не получаю полезной информации. Вот почему я пытался внедрить свою логику поверх этого.

Ответ №1:

Я думаю, что единственный вариант, который у вас есть, это использовать старый плагин livequery, который допускал нечто подобное (или вы могли бы скопировать логику, используемую этим плагином), как вы можете видеть из этой статьи

Комментарии:

1. 1 — Спасибо за статью, я постараюсь извлечь из нее какую-нибудь подсказку.

Ответ №2:

К сожалению, при изменении DOM не возникает никаких событий. Решением здесь было бы вручную вызвать событие в коде, которое вызывает обновление DOM, для которого вы можете добавить прослушиватель где-нибудь еще в вашем коде.