当用户将鼠标悬停在表单字段旁边显示的错误图标上时,我正在使用YUI工具提示显示错误消息。错误消失后,我从DOM中删除了警报图标,并希望也删除工具提示。为此,我称tooltip.destroy()。是这样做的正确方法,还是destroy()用于其他用途? destroy()的文档在此主题上不是很清楚。

(我问这个问题是因为如果您在工具提示上调用doHide()之后立即销毁工具提示,则会在5 s后调用hide(),这会给您一个错误,因为hide()尝试访问this.cfg由destroy()设置为null。这可能是一个YUI错误,或者是我怀疑的一种迹象,表明我没有按预期使用API​​。)

最佳答案

与禁用tooltip.destroy()相比,禁用工具提示似乎更好。它可能不像销毁工具提示那样有效地利用内存,但是它避免了以下问题中提到的问题:在调用destroy()之前注册但在之后运行的回调在处理对象null的属性时遇到困难。另外,如果可能显示工具提示,则您想通过调用hide()将其立即隐藏。总之,代码将是:

tooltip.cfg.setProperty("disabled", true);
tooltip.hide();

关于javascript - YUI:Module.destroy()的语义是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3748627/

10-12 02:35