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

标签 javascript jquery html css ajax

您好,我有一个 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/

相关文章:

html - 如何在 React 组件上设置自定义有效性?

php - 如何在从数据库获取数据时包含 php 脚本

javascript - 我无法在我的 API 中发布我的 json URL 文件中的元素

javascript - 使用通配符选择所有对象

javascript - 向函数添加参数而不在 javascript 上调用它

javascript - 加快jquery动画的运行速度

javascript - 如何检查在 Jinja2 HTML 模板中选择了一组单选按钮中的哪个单选按钮?

javascript - JQUERY UI DatePicker 日历不显示

javascript - 滚动后导航链接不起作用

javascript - jQuery Ajax 从 php 返回一些值