2016-07-11 73 views
0

當我打開我的頁面開始,我選擇使用某個CSS類,然後安裝一個提示,以它爲隨後的一切(「doTooltip」是CSS的名稱類):jQuery的內容被排除在初始頁面加載綁定

$(document).ready(function() { 
    $('.doTooltip').tooltip(); 
}); 

這很好。但是,當我通過AJAX將一些額外的內容加載到頁面中時,應用了doTooltip類的任何新元素都不會對它們執行.tooltip(),因爲它們是在ready()事件之後加載的。

我如何可以指示jQuery的申請.tooltip()到新加載它們使用doTooltip元素?

或者是蓋被子所提供的代碼放到一個函數,每一次調用這個函數我加載新的內容到頁面的唯一的解決辦法?我希望有比這更好的方式,因爲我使用全球提供的代碼。

+0

您是否在Ajax調用完成後嘗試調用它? –

+0

你使用哪個工具提示插件?如果twitter引導一個,那麼你可以通過選擇器選項來委託它在任何靜態容器級別,例如:'$('body')。tooltip({selector:'。doTooltip'});' –

+0

可以聽取DOMNodeInserted事件。看到這個線程:http://stackoverflow.com/questions/15268661/jquery-on-create-event-for-dynamically-created-elements。這可能不是最好的方式,但我沒有意識到沒有任何其他方式手動應用工具提示。 –

回答

0

您必須使用「jquery.fn.on」。示例如下:

$(document).on('mouseover', '.doTooltip', function(){ 
    $(this).tooltip(); 
}); 

請讓我知道它是否有效。當我遇到類似的問題時,它對我有用。

如果你的內心不接受這種攻擊,請關聯文檔主體上的觀察者以輪詢添加新的「doTooltip」元素並將工具提示應用於新插入的元素。 如果您需要觀察者方法的代碼,請讓我知道。

相關問題