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

Mak*_*Vi. 4 javascript css twitter-bootstrap twitter-bootstrap-3

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

问题在本演示中重现:当单击测试按钮时,工具提示被"销毁",但它仍然在DOM中并阻止文本输入上的单击事件.

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

UPD:似乎是一个众所周知的问题

Gio*_*ira 6

如果你使用disable而不是destroy

小提琴


PSL*_*PSL 5

是的,有一个解决方法.data-toggle="tooltip"从标记中删除.这就是导致工具提示再次显示的原因.因为在引导程序监听的工具提示中仍然有数据属性.你在js中的构造函数就足够了,data-*不需要在JS中放置for tooltip和tooltip构造函数.

 <input id="testBtn" class="btn btn-default" type="button" value="Test"  title="Test Destroy Event"/>
Run Code Online (Sandbox Code Playgroud)

演示

更新

这是旧版Bootstrap中的一个错误,所以要在旧版本中修复它,你可以通过从Data中获取它来删除$ tip元素.

        var $this = $(this);
        $this.data('bs.tooltip').$tip.remove(); //remove the tip element.
        $this.tooltip('destroy'); //destroy it now.
Run Code Online (Sandbox Code Playgroud)

演示

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