TableSorter не будет стилизован, пока не будет нажата колонка - PullRequest
0 голосов
/ 04 октября 2019

Я использую плагин TableSorter jquery . Функционально работает нормально. Я не загружаю свою таблицу tablesorter статически, когда страница загружается, а скорее в виде ajax-вызова, как только заканчивается статическая загрузка страницы. Я делаю это потому, что пользователи могут вносить изменения, которые влияют на данные в этой таблице, поэтому иногда мне нужно, чтобы js на странице повторно извлекал и перезагружал его через ajax с сервера.

Вотпроблема: после создания таблицы tablesorter стили не применяются. Как будто на нем нет стилей. Однако, как только я щелкаю по любому из столбцов для сортировки, внезапно все стили применяются и появляются, как и ожидалось.

Вы можете увидеть это поведение в действии, нажав , нажав здесь . Нажмите на вкладку Зависимости , чтобы увидеть мою таблицу. По крайней мере, в Chrome вы не должны видеть никаких стилей. Затем щелкните заголовок любого столбца и посмотрите, какие стили будут применены.

Перед применением стилей: enter image description here

После нажатияЗаголовок столбца, и стили внезапно применяются: enter image description here

Вопрос: Как заставить стили применять при первоначальной загрузке, не дожидаясь, пока заголовок столбцащелкнуть?

1 Ответ

1 голос
/ 04 октября 2019

Я посмотрел ваш HTML-код. Когда пользователь нажимает на «вкладку Зависимости», запустите следующую строку, и вы увидите применяемые стили. Я проверил на chrome "console".

$ ('table'). Trigger ('sortReset');

ИЛИ добавьте приведенный ниже фрагмент кода при загрузке страницы, он вызывает sortReset при зависимостяхвкладка нажата, только один раз, затем обработчик удаляется.

$("#tabDependencies").parent().click(function() {  
  $('table').trigger('sortReset');
  $(this).off("click");
});
...