当工具提示处于活动/聚焦状态且调用destroy
事件时,工具提示会获得不透明度0,但仍然可以点击,其元素仍在DOM中。
问题在此Demo中重现: 单击测试按钮时,工具提示会被“销毁”,但它仍然在DOM中并阻止文本输入上的单击事件。
这是正常行为吗?任何干净的解决方法?
UPD :似乎是一个已知的issue
答案 0 :(得分:6)
如果您使用disable
代替destroy
呢?
答案 1 :(得分:5)
是的,有一种解决方法。从标记中删除data-toggle="tooltip"
。这就是导致工具提示再次显示的原因。因为在引导程序监听的工具提示中仍然有数据属性。你在js中的构造函数就足够了,不需要在JS中放置data-*
for tooltip和tooltip构造函数。
<input id="testBtn" class="btn btn-default" type="button" value="Test" title="Test Destroy Event"/>
<强> Demo 强>
<强>更新强>
这是旧版Bootstrap中的一个错误,因此要在旧版本中修复它,您可以通过从Data中获取它来删除$ tip元素。
var $this = $(this);
$this.data('bs.tooltip').$tip.remove(); //remove the tip element.
$this.tooltip('destroy'); //destroy it now.
<强> Demo 强>
请记住,即使你禁用了该元素,它仍然保存元素中的数据,并且引导程序中元素的引用可能会在以后使用,这是不必要的