您好,我有一个 ajax 请求,它将获取用户名、电子邮件和 user_id。在 ajax 调用成功后,我使用 jquery 将数据附加到标题标签,我面临的主要问题是数据被附加但它没有在第一次尝试时显示,但在第二次悬停时显示。
这是我的代码
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>
谁能告诉我如何改进它?我只想在第一次尝试时显示悬停数据,而不是第二次。
最佳答案
onmouseover="showProfile('.$k.')"
表示,当您的鼠标移到该元素上时,将调用该函数。
因此,如果您在鼠标悬停时发出 ajax 请求,则在浏览器处理工具提示时调用开始并且数据未加载。
在第二次悬停时,数据从第一次调用开始写入。
尝试在悬停之前设置工具提示,然后你不需要 onmouseover 因为工具提示只是在悬停时显示;)
关于javascript - 第一次悬停时未显示 ajax 调用后附加到标题标签的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37740259/