在destroy事件之后,不会从DOM中删除工具提示

时间:2013-10-10 17:44:02

标签: javascript css twitter-bootstrap twitter-bootstrap-3

当工具提示处于活动/聚焦状态且调用destroy事件时,工具提示会获得不透明度0,但仍然可以点击,其元素仍在DOM中。

问题在此Demo中重现: 单击测试按钮时,工具提示会被“销毁”,但它仍然在DOM中并阻止文本输入上的单击事件。

这是正常行为吗?任何干净的解决方法?

UPD :似乎是一个已知的issue

2 个答案:

答案 0 :(得分:6)

如果您使用disable代替destroy呢?

Fiddle

答案 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

请记住,即使你禁用了该元素,它仍然保存元素中的数据,并且引导程序中元素的引用可能会在以后使用,这是不必要的