當工具提示處於活動/專注狀態並且destroy
事件被調用時,工具提示獲取不透明度0,但仍然可點擊並且其元素仍在DOM中。工具提示在銷燬事件後不會從DOM中刪除
這個問題在Demo中複製: 單擊測試按鈕時,工具提示會被「銷燬」,但它仍然在DOM中並阻止文本輸入中的事件。
這是正常行爲嗎?任何清理解決方法?
UPD:似乎是一個已知的issue
當工具提示處於活動/專注狀態並且destroy
事件被調用時,工具提示獲取不透明度0,但仍然可點擊並且其元素仍在DOM中。工具提示在銷燬事件後不會從DOM中刪除
這個問題在Demo中複製: 單擊測試按鈕時,工具提示會被「銷燬」,但它仍然在DOM中並阻止文本輸入中的事件。
這是正常行爲嗎?任何清理解決方法?
UPD:似乎是一個已知的issue
怎麼樣,如果你使用disable
代替destroy
?
哦,不錯,我試圖禁用**和**之前破壞,但它沒有按預期工作。你的解決方案工作得很好。 –
除了使用隱藏選項之外,您可能會嘗試使用該選項,以便它實際上隱藏在點擊上,而不必移出......我試圖這樣做,但出於某種原因,它沒有隱藏彈出窗口: –
那麼,對我來說,禁用和銷燬幾乎有相同的實用工具。兩者都將使它不再顯示:)我喜歡你的解決方法,雖然 –
是的,有一種變通方法。從您的標記中刪除data-toggle="tooltip"
。這就是導致工具提示再次顯示的原因。因爲引導程序偵聽的工具提示上仍然有數據屬性。您在js中的構造函數就足夠了,將工具提示和工具提示構造函數的data-*
都放在JS中是沒有必要的。
<input id="testBtn" class="btn btn-default" type="button" value="Test" title="Test Destroy Event"/>
更新
它是在舊版本的引導的一個bug,因此,要解決它在舊的版本,你可以通過數據抓取它刪除$尖端元件。
var $this = $(this);
$this.data('bs.tooltip').$tip.remove(); //remove the tip element.
$this.tooltip('destroy'); //destroy it now.
記住即使禁用的元件,但它仍然保持在元件中的數據,以及該元件的自舉內供以後使用的可能性的參考這是不必要
對不起,您的演示中仍存在相同的問題。 –
即使你禁用了它,它仍然保存着元素上的工具提示數據,這意味着當你不需要它時,它不會銷燬它們。所以這個BS錯誤應該有一個真正的解決方法。 – PSL
演示中沒有工具提示數據。我不認爲你是對的。 –
@Dvir,這是一個跨瀏覽器問題 –