我向你求助。即,在ajax中与工具提示斗争。当页面加载或F5之后,一切都很好用。但是,在部分Web中,我每隔60秒使用刷新div由ajax
<script type="text/javascript" >
$.ajaxSetup({ cache: false });
var auto_refresh = setInterval(
function()
{
$('#loaddiv').load('refresh_clusterdx_2.php');
}, 60000);
</script>
我的工具提示的代码
<script type="text/javascript">
$(document).ready(function(){
function showProfileTooltip(e, id){
var top = e.clientY -45;
var left = e.clientX + 25;
$('.p-tooltip').css({
'top':top,
'left':left
}).show();
//send id & get info from get_prefix.php
$.ajax({
url: '/Info/get_prefix.php?id='+id,
beforeSend: function(){
$('.p-tooltip').html('Loading..');
},
success: function(html){
$('.p-tooltip').html(html);
}
});
}
function hideProfileTooltip(){
$('.p-tooltip').hide();
}
$('.profile').mouseover(function(e){
var id = $(this).attr('data-id');
showProfileTooltip(e, id);
});
$('.p-tooltip').mouseleave(function(){
hideProfileTooltip();
});
});
</script>
一切都很精美,看起来还不错,直到div没有刷新。当一个div要刷新时,工具提示没有工作:(我无法找到问题的解决方案,是否有可能解决。
感谢您的任何帮助。
问候
tjakob
答案 0 :(得分:0)
为了确保您的功能在加载ajax的内容后工作,您必须稍微修改它们:
$(document).on('mouseover', '.profile', function() {
var id = $('.profile').attr('data-id');
showProfileTooltip(e, id);
});
$(document).on('mouseleave', '.p-tooltip', function() {
hideProfileTooltip();
});
你应该总是使用.on和动态加载的内容 - 我现在习惯为我的所有功能都这样做。