2012-10-25 66 views
2

我使用Twitter Bootstrap創建tooltips。目前,我在初始化的$(document).ready()提示:Twitter引導和動態DOM元素

$(document).ready(function() { 
    $('[data-toggle="tooltip"]').tooltip(); 
}); 

這就要求tooltip()(其中inits聽衆)爲具有data-toggle元素的每一個元素。

問題是,如果我有動態DOM元素(使用Ajax),則不會調用tooltip()。我覺得像下面這樣的解決方案:

$(document).ready(function() { 
    $('body').on('ready', '[data-toggle="tooltip"]', function() { 
     $(this).tooltip(); 
    }); 
}); 

但是,這並不工作..

任何想法..?

+0

什麼布特只是執行'$(「[數據切換=‘提示’]」 ).tooltip();'當新項目被添加? – Lix

+1

儘量不要將數據用作選擇器。他們不是那個意思,他們選擇的速度很慢。改爲使用類或ID。另外,如果你用'.data()'設置數據屬性,你的選擇器將不起作用。 http://stackoverflow.com/questions/2891452/jquery-data-selector – Aktee

+0

會做,謝謝:) – tamir

回答

5

只是重新初始化插件,一旦你的Ajax方法返回(和新元素已經注入):

$.ajax({ 
    url: 'foo.html', 
    type: 'post', 
    data: { foo: "bar"}, 
    success: function (html) { 

     $("#foo").html(html); 
     $('[data-toggle="tooltip"]').tooltip(); 
    } 
}); 
+2

$('#foo [data-toggle =「tooltip」]')。tooltip();應該稍微好一些 – Denis