2016-07-26 12 views
0

我有一個HTML頁面使用jQuery,也有一個外部插件tooltipsterjquery插件如何實現.live或.on所以它適用於新元素

爲了並初始化插件我必須這樣做:

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

的HTML很簡單,你只需要設置class"tootlip"

'<span class="tooltip" title="This is my spans tooltip message!">Some other text</span>' 

這對於靜態的偉大工程元素在DOM

enter image description here

,問題就來了創建DOM之後添加新的元素。 當使用.on().live()創建後面的元素時,這與jQuery類似。

所以,如果我有:

$('#newelement').click(function(e) { 

        $('#elements').html('<span class="tooltip" title="This is my spans tooltip message!">New element</span>'); 

       }); 

如何使這項工作的任何線索?我可以使用.on()以適用於靜態和動態元素的方式嗎?

+0

你讀過http://iamceege.github.io/tooltipster/#delegation?可能會回答你的問題。 –

回答

2

是的,新創建的元素你使用的更好:

$(document).on("click", "#newelement", function(e) { 

       $('#elements').html('<span class="tooltip" title="This is my spans tooltip message!">New element</span>'); 

      }); 
+0

這不是問題。其關於添加新元素時使工具提示工作。 – VAAA

+0

啊,好吧,在這種情況下看看http://jsfiddle.net/carlesso/4Qjcr/和http://stackoverflow.com/questions/9958825/how-do-i-bind-twitter-bootstrap-tooltips-to-動態創建元素 這適用於Bootstrap工具提示,我假設它也應該與tooltipster一起工作,儘管我對插件不熟悉。 –

0

最佳解決方案將重新綁定所有(或者,如果你是雄心勃勃的 - 只有新創建的)提示元素後您的權利創建它們。例如在ajax完成之後,您應該刷新所有工具提示。

0

創建新的功能,並調用該函數中。對事件

//Here call the .on to  
$("#anotherElement").on('click', function(){ 
    $('.tooltip').tooltipster(); 
    newFunction(); 
}); 

//Call the function to show title 
function newFunction(){ 
    $('#newelement'). click(function(e){ 
      $('#elements').h tml('<span class="tooltip" title="This is my spans tooltip message!">New element</span>'); 
    }); 
} 
相關問題