Как обновить позиции меню yui после вставки ajax-страницы? - PullRequest
0 голосов
/ 24 февраля 2011

У меня есть страница с кучей предметов. У каждого элемента есть виджет, который при нажатии вызывает всплывающее меню опций в стиле YUI. Пока это работает нормально.

Я использую вызовы jQuery / ajax для вставки новых элементов на страницу, толкая существующие элементы вниз. Элементы вставляются правильно, но теперь мне нужно каким-то образом обновить позиции всплывающих меню элементов, чтобы они соответствовали новым позициям виджетов, которые их вызывают. Насколько я могу судить, они вычисляются как координаты страницы и сохраняются вместе с объектами меню при визуализации страницы и не обновляются автоматически при вставке AJAX.

Вот где моя проблема: я попробовал несколько jQuery, которые для каждого меню пересчитывают пункт меню, делают removeListener (), чтобы убить старое меню, и addListener (), чтобы вставить то, что должно новый. Это корректно обновляет позиции меню, когда они вызываются, но ломает что-то еще: если я нажимаю на виджет и поднимаю меню, а затем щелкаю где-то еще на странице, меню остается на экране, а не исчезает. Я могу нажать на другие виджеты, и они тоже появятся. Примечания: в консоли не отображаются ошибки; нажатие клавиши ESCAPE во время представления меню по-прежнему правильно скрывает меню.

Должен быть способ сделать это, но я заблудился. Есть какие-нибудь подсказки? Возможно, все, что мне действительно нужно сделать, это обновить контекстную информацию меню; Есть ли способ сделать это без последовательности слушателя удаления-и-добавления, которая, кажется, облажается? Спасибо!

1 Ответ

0 голосов
/ 28 февраля 2011

Все по-прежнему хорошо, как отмечено в обновлениях;Я объявляю это ответом.

...