2011-06-22 74 views
1

我正在使用jQuery TipTip插件在hrefs上使用“Title”标记中的数据显示工具提示。获取jQuery TipTip以使用Ajax加载的内容

这里是我使用调用TipTip

<script type="text/javascript" src="jquery.tipTip.js"></script> 
<!-- ToolTip script --> 
<script type="text/javascript"> 
$(function(){ 
$(".someClass").tipTip({maxWidth: "auto", edgeOffset: 10}); 
}); 
</script> 
<!-- End ToolTip script --> 

的代码,并在体内

sample content. <a href="" class="someClass" title="test data">sample</a>,stuff. 

这工作得很好作为独立的例子。但是,当我将脚本设置为通过ajax(使用包含原始主体代码的sample.html)将内容加载到主体中时,工具提示停止工作。

<script type="text/javascript"> 
//loading sample ajax data 
$(document).ready(function(){ 
$('#remote').load('sample.html'); 
}); 


</script> 

浏览在TipTip论坛上,有人提到这可能使用jQuery .live功能工作,但已经阅读文档,我不明白应该如何即时与我的代码来实现这一点。据我所知,jquery-live是一个事件处理程序,所以据说我可以通过ajax作为主事件调用数据,然后将TipTip作为辅助事件应用,但我无法弄清楚如何实现这个,不知道如果im绝对走在正确的道路上。

有人可以请教我吗?

回答

4

一个简单的解决方案是创建一个激活TipTip功能:

function activateTipTip() { 
    $(".someClass").tipTip({maxWidth: "auto", edgeOffset: 10}); 
} 

$(document).ready(function(){ 
    activateTipTip(); 
    $('#remote').load('sample.html', function() { 
     activateTipTip(); 
    }); 
}); 

不是很优雅,但应该工作,虽然。

+0

这工作的魅力。非常感谢。 –

0

这是我对这个问题的解决方案:

$(ElementParent).on('mouseover', YourElementSelector, function() 
{ 
    if($(this).data('hasTipTip') !== true) 
    { 
     $(this).tipTip(TipTipOptions); 
     $(this).data('hasTipTip', true); 
     $(this).trigger('mouseover'); 
    } 
});