工具提示 - 刷新div后不起作用

时间:2016-01-23 09:51:56

标签: php jquery html ajax

我向你求助。即,在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

1 个答案:

答案 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和动态加载的内容 - 我现在习惯为我的所有功能都这样做。