У меня есть гармония, работающая отлично на pageload, однако при взаимодействии с некоторыми элементами на странице я использую ajax для восстановления HTML-аккордеона. Затем я попытаюсь снова инициализировать аккордеон с помощьюre-initialize jquery accordion on callback
$('#accordion').accordion({
active: false,
autoHeight: false,
clearStyle: true,
collapsible: true,
header: 'h3'
});
но ... похоже, это не воспринимается.
Новый блок визуализации HTML не применяет правила аккордеона. Вместо этого он просто остается открытым как большой список.
Я даже попробовал setTimeout() для повторного вызова аккордеона просто, если он пытался инициализировать, прежде чем возвращенный HTML будет возвращен в обратном вызове.
HTML, который оказывается в функции обратного вызова является точно такой же, как и у PageLoad (за исключением к DOM дополнения, которые возникают, когда метод аккордеона эффективен)
спасибо, что исправил его. Я очень ценю это. – aimlessWonderer
Нет проблем. У меня была такая же проблема с компонентом интерфейса диалога, и исправление было таким же. Вы должны явно уничтожить все (на данный момент) в jquery-ui, чтобы получить компоненты в хорошем состоянии. Это должно быть где-то зарегистрировано! –