在第一次悬停时未显示ajax调用后附加到标题标记的数据

时间:2016-06-10 05:03:38

标签: javascript jquery html css ajax

您好我有一个ajax请求,将获取用户名,电子邮件和user_id。在ajax调用成功之后,我使用jquery将数据附加到title标签,我面临的主要问题是数据被追加,但它没有在第一次尝试时显示,而是在第二次显示时显示。

这是我的代码

function showProfile(i)
{
    var user = $("#user_id_"+i).html();
    var business = <?php echo $this->identity()->getBusiness()->getId() ?>;
    $.ajax({
        'url': '/user/account/external/profile',
        'type':'GET',
        'data':{
            businessId:business,
            userId:user,
        },
        'success': function (data) {
            var message = "Fullname : "+data.first_name+" "+data.last_name+" Email : "+data.email;
            $("#user_id_"+i).attr('title',data.first_name+'\n'+data.last_name+'\n' +data.email); 
        },
    });
}

这是我启动ajax调用的html代码

<a id="user_id_btn_'.$k.'" class="user_id_btn" onmouseover="showProfile('.$k.')" onmouseout="hideProfile('.$k.')"><span id="user_id_'.$k.'">'.$iResult[$k][4].'</span></a>

谁能告诉我如何改进这个?我想在第一次尝试时显示悬停数据而不是第二次。

1 个答案:

答案 0 :(得分:0)

(12345678990|1234567899|123456789|12345678|1234567|123456|12345|1234|123|12|1) 表示当鼠标移过此元素时,会调用该函数 因此,如果您在鼠标悬停时发出ajax请求,则当浏览器处理工具提示时,将启动呼叫并且不会加载数据。
在第二次悬停时,数据从第一次调用开始写入 尝试在悬停之前设置工具提示,然后你不需要onmouseover因为工具提示只是在悬停时显示;)