2016-07-11 45 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”元素并将工具提示应用于新插入的元素。 如果您需要观察者方法的代码,请让我知道。

相关问题