YUI: Какова семантика Module.destroy () - PullRequest
1 голос
/ 20 сентября 2010

Я использую всплывающую подсказку YUI, чтобы показать сообщение об ошибке, когда пользователи наводят курсор мыши на значок ошибки, отображаемый рядом с полем формы.Когда ошибка исчезнет, ​​я удаляю значок предупреждения из DOM и хочу удалить всплывающую подсказку.Для этого я звоню tooltip.destroy().Это правильный способ сделать это, или destroy() предназначен для чего-то еще?Документация для destroy() не очень ясна по этому вопросу.

(Я задаю вопрос, потому что если вы уничтожите всплывающую подсказку сразу после вызова doHide() для всплывающей подсказки, hide() называется 5 спозже, которая выдает ошибку, когда hide() пытается получить доступ к this.cfg, для которого было установлено значение destroy(). Это может быть ошибка YUI или, как я подозреваю, признак того, что я не использую APIтак, как это было задумано.)

1 Ответ

1 голос
/ 20 сентября 2010

Вместо того, чтобы делать tooltip.destroy(), кажется, лучше отключить всплывающую подсказку. Возможно, он не так эффективен в использовании памяти, как уничтожение всплывающей подсказки, но позволяет избежать проблемы, упомянутой в вопросе, где обратные вызовы, зарегистрированные до вызова destroy(), но выполняющиеся впоследствии, испытывают затруднения при работе со свойствами объекта null. Кроме того, если всплывающая подсказка может отображаться, вы можете сразу скрыть ее, вызвав hide(). В итоге код будет:

tooltip.cfg.setProperty("disabled", true);
tooltip.hide();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...