当用户将鼠标悬停在表单字段旁边显示的错误图标上时,我正在使用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/