Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在ajax调用后以编程方式显示工具提示_Jquery - Fatal编程技术网

Jquery 在ajax调用后以编程方式显示工具提示

Jquery 在ajax调用后以编程方式显示工具提示,jquery,Jquery,我想知道是否有人知道在ajax调用后如何触发工具提示的插件或教程。目前,我正在使用创建工具提示。但我不希望鼠标悬停事件时触发工具提示;相反,我希望它们在ajax调用后显示。我找不到任何关于如何实现这一点的文档或示例。例如: <a class="vote">Vote</a> <div id="tooltip"> Some tooltip with a message. </div> $.ajax({ context: this,

我想知道是否有人知道在ajax调用后如何触发工具提示的插件或教程。目前,我正在使用创建工具提示。但我不希望鼠标悬停事件时触发工具提示;相反,我希望它们在ajax调用后显示。我找不到任何关于如何实现这一点的文档或示例。例如:

<a class="vote">Vote</a>

<div id="tooltip">
Some tooltip with a message.
</div>

$.ajax({
    context: this,
    dataType: 'json',
    success: function(response) {
        if (response.result == "success") {
// SHOW TOOL TIP HERE
        } 
        else {
// SHOW ANOTHER TOOL TIP HERE
            }
        });

jQuery工具中包含一个包含事件的API,但我不知道如何在Ajax之后只显示工具提示!另一个复杂因素是我需要在多个元素上显示相同的工具提示(或多个工具提示)。

绑定工具提示后简单触发鼠标悬停事件不起作用吗

$('#myElement').tooltip().mouseover();
看看(尤其是)和

因此,它应该与:

if (response.result == "success") {
    $('#myElement').data('tooltip').show();
} 
else {
    // don't know which other tooltip you want to show here
}
(因此,您可能可以排除
mouseover
,或者将其更改为您知道在该元素上从未触发过的内容(例如
change
)。

您可以编写自己的工具提示,工具提示只是具有自定义外观的div框,然后绝对定位

ajax完成后,通过jQuerysShow显示工具提示

$('#tooltipid').show(); 
如果您想在几秒钟后隐藏,也可以使用jquery或javascripts setTimeout()进行隐藏

我想你想要的是,一旦ajax完成,你在dom中有了一些新的html,你想在代码上方显示一些弹出窗口


希望这有帮助

您可以使用触发器函数启动绑定到鼠标上方的其他函数

$('#ElemWithTootip').trigger('mouseOver');

下面是一个如何在某个事件后显示“工具提示”或弹出对话框的示例。这里没有ajax,只是使用链接的单击操作

$(document).ready(function() {

    $("#vote").click(function(evt) {
        evt.preventDefault();

        // Do your ajax
        // Show the popup
        $("#tooltip").show();
    });

    $("#tooltip").click(function() {
        $(this).hide();
    });

});

希望这能帮助你开始


Bob

@felix,回答很好,我没有看工具提示api,在我的项目中,我编写了自己的自定义工具提示,这就是为什么我给出了这样的答案felix,感谢您的回复。我没有提到的一个问题(直到我更新问题)是有多个元素需要工具提示。工具提示在任何情况下都可以重复使用,还是必须为每个元素创建新的工具提示?我认为数据(“工具提示”)只绑定到一个元素。@mel您可以为所有需要的元素指定一个通用的类名,并使用它,这将修复您的问题problem@Mel:是,它仅绑定到一个元素。也许你必须为每一个元素单独做。但我不确定,我没有使用插件的经验。这正是我在文档中找到的。@gov:不一定:
data(key)
:返回jQuery集合中第一个元素在命名数据存储中的值,由data(name,value)设置。gov,非常感谢。我想了想。但是,由于我在页面上有许多元素需要这样做,因此将其放置在被单击的元素旁边似乎非常棘手。@Mel这很酷,但我认为您可以使用相同的api来执行。show()对YouTunks rcraves有效吗。我实际上得到了要显示和隐藏的工具提示。唯一的技巧是使它的位置相对于被点击的链接。(我在页面上有多个投票链接。)
$(document).ready(function() {

    $("#vote").click(function(evt) {
        evt.preventDefault();

        // Do your ajax
        // Show the popup
        $("#tooltip").show();
    });

    $("#tooltip").click(function() {
        $(this).hide();
    });

});