我想显示一个ExtJS ToolTip作为按钮点击的结果.当用户点击“X”或第二次点击按钮时,工具提示应该消失(注意我没有说“隐藏”).如果用户第三次单击该按钮,则Tip应再次显示.
我的问题是,如果将鼠标悬停在按钮上,则会显示工具提示. (见小提琴)我只想点击一下按钮就可以了.
我尝试在组件上调用“remove()”将其从“onbeforeclose()”和“beforehide()”事件中的DOM中删除,但提示仍会显示在悬停状态.
我还要注意,从文档中调用“close()”方法实际上并没有触发“onbeforeclose()”事件 – 这对我来说真的没有意义……
所有Sencha示例都显示了悬停时的提示.是否可以仅在点击事件后显示提示?
这是来自小提琴的代码:
function onClick() {
window.Ext.create('Ext.tip.ToolTip', {
target: 'div123',
html: 'I am a tip',
autoShow: true,
autoScroll: true,
focusOnToFront: true,
autoHide: true,
closable: true
});
}
window.Ext.create('Ext.Button', {
id: 'btn123',
renderTo: 'div123',
text: 'click me',
width: '100px',
handler: onClick
});
我还想提一下,我知道每次点击按钮我都会创建一个新的工具提示.我知道,这是理想的行为.我的问题是我想要每次点击时都显示一个新提示 – 不要在悬停时显示旧提示.
> Documentation
> ExtJS Examples
> My fiddle
解决方法:
删除目标,没有任何东西可以悬停.
使用Ext.tooltip.Tooltip#show
方法可在需要时显示工具提示.
保留对创建的工具提示的引用,以便在需要时能够使用destroy
.
最后,您确定要将工具提示自动隐藏吗?这似乎不适合你想要实现的整体…
原文地址:https://codeday.me/bug/20190629/1325741.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。