2017-02-16 10 views
0

如果我將鼠標懸停在附加文本上,那麼它也顯示工具提示。我怎樣才能防止這個,所以它不應該爲新創建的元素開火?如何防止將事件附加到引導工具提示中新創建的元素

$(document).ready(function() { 
 
    $('[data-toggle="tooltip"]').tooltip(); 
 
    $('[data-toggle="tooltip"]').append("<b>Appended text</b>"); 
 
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.js"></script> 
 
<div class="container"> 
 
    <h3>Tooltip Example</h3> 
 
    <div data-toggle="tooltip" title="Hooray!">Hover over me</div> 
 
</div>

+0

不要將附加文本放在div中,並使用工具懸停事件 – guradio

+2

您正在將元素中的文本附加到事件處理函數中。如果您不想在新內容上觸發事件,請不要將其放入該元素 –

+0

@RoryMcCrossan我正在使用選擇庫,它們將添加到我的元素中,因此我無法更改該庫:( – Mahi

回答

0

append()意味着你將是有提示的家長裏新創建的元素。所以當然,因爲你把新元素放在裏面,工具提示就出現了。

如果你想將其擁有的工具提示(所以他們不會有提示)元素外的新元素,然後使用after()

$(document).ready(function() { 
    $('[data-toggle="tooltip"]').tooltip(); 
    $('[data-toggle="tooltip"]').after("<b>Appended text</b>"); 
}); 

UPDATE

好像我知道你的問題現在。如果你必須追加它,並且不希望工具提示僅用於該元素,那通常是不可能的。解決方法是,您應該將引導工具提示嵌入到特定的孩子,而不是父母。就像這樣:

<div><span data-toggle="tooltip" title="Hooray!">Hover over me</span></div> 

然後你就可以追加<p>元素的<div>。而已。祝你好運!

+0

抱歉,但這是我給的例子..我我正在使用添加到我的元素中的庫,所以我無法更改該庫:( – Mahi

+0

,那麼您必須嘗試在正確(特定)元素中嵌入引導工具提示,而不是在父級上。 –

+0

我可以使用jquery關閉從新創建的元素中刪除該工具提示嗎? – Mahi

相關問題