Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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工具提示不会在单击项时消失_Jquery_Jquery Ui_Asp.net Ajax_Updatepanel_Jquery Ui Tooltip - Fatal编程技术网

Jquery工具提示不会在单击项时消失

Jquery工具提示不会在单击项时消失,jquery,jquery-ui,asp.net-ajax,updatepanel,jquery-ui-tooltip,Jquery,Jquery Ui,Asp.net Ajax,Updatepanel,Jquery Ui Tooltip,我正在使用jquery-1.9.1.js和UIjquery-UI-1.10.3.custom.min.js。当我将鼠标悬停在任何表单元素上时,它会显示工具提示,并在鼠标悬停时消失。但我想消除该项目的点击时工具提示事件,因为在我当前的场景中,它显示了按钮的工具提示,并且即使在点击按钮后仍然存在。因此,它会在页面上看到多个工具提示。我需要在单击后立即隐藏它们。(下面是屏幕截图) 我使用了下面的代码,但不适用于我 $(document).click(function() { $(th

我正在使用
jquery-1.9.1.js
和UI
jquery-UI-1.10.3.custom.min.js
。当我将鼠标悬停在任何表单元素上时,它会显示工具提示,并在鼠标悬停时消失。但我想消除该项目的点击时工具提示事件,因为在我当前的场景中,它显示了按钮的工具提示,并且即使在点击按钮后仍然存在。因此,它会在页面上看到多个工具提示。我需要在单击后立即隐藏它们。(下面是屏幕截图)

我使用了下面的代码,但不适用于我

 $(document).click(function() {
       $(this).tooltip( "option", "hide", { effect: "explode", duration: 500 } );
        });
如何解决这个问题请帮忙

编辑


我正在使用更新面板。这会产生问题吗?

根据jQueryUI文档,您的代码只会更改其关闭方式。您需要的是
关闭

但是,您可能需要对代码进行一些更改才能使其正常工作。根据您的代码判断,您使用委托(允许其他东西为您的项目制作工具提示),而不是将其直接应用于您的项目。根据文档,close不适用于委派的工具提示

$('[data-toggle="tooltip"]').click(function() {
    $('.tooltip').fadeOut('fast', function() {
        $('.tooltip').remove();
    });
});
你会想要类似的东西

$('.editButtons').tooltip().click(function() {
    $('.editButtons').tooltip( "close");
})

关闭委托工具提示的丑陋黑客(上次打开)


可能是一个肮脏的黑客,但你不能通过使用“ui tooltip”选择它来隐藏tooltip元素,它是应用于tooltip容器的类

$('body').on("click","element_selector",function(event){
$('.ui-tooltip').hide();
});

您应该用适合您的元素的选择器替换“元素选择器”。

我知道这是一个老问题,但我遇到了同样的问题,并使用以下方法解决了它

假设您使用它来启动工具提示:

$('[data-toggle="tooltip"]').tooltip();
单击后,以下内容将淡出工具提示。淡入淡出后,它会将其从DOM中删除(否则可能会出现大量隐藏的工具提示)


希望这对别人有帮助

在使用jq 1.12时,我采取了一种稍微不同的方法,在显示新的工具提示时隐藏所有ui工具提示。这在Chrome、IE 11和IE 11(通过http equiv=“X-UA-Compatible”content=“IE=8”进行ie8仿真)中进行了测试


hth

由于您没有提供其他信息,因此这只是一个一般性指南。如果您的按钮没有类
editButtons
,它将无法工作。有关帮助信息,请参阅我使用的
$(文档)。工具提示(“关闭”)我在回答中说那不起作用<代码>文档
没有工具提示,它通过委派接收工具提示。你必须通过选择它们来在你的物品上特别制作它们。是的,你是对的。它适用于单个选择器。但我需要全局应用它,以便任何元素都有工具提示;单击后,其工具提示应消失。请建议。所以它需要关闭所有打开的工具提示,或者只关闭相关的工具提示?在我的例子中,我使用了
$('div[class^=“ui tooltip”]”)。remove()如果某个DOM存在/不存在。好黑客@KAZ to usa这会在一段时间后自动隐藏工具提示。我想这是提问者不想要的。在他写的时候点击它,它应该会立即关闭。我必须重写它:
$(“[data toggle=\\“tooltip\”])。点击(function(){var$this=$(this);$(.tooltip”).fadeOut(“fast”,function(){this.blur();})否则工具提示将永远不会回来。@Roland我使用了模糊,尽管我再也没有得到工具提示了。
$('[data-toggle="tooltip"]').tooltip();
$('[data-toggle="tooltip"]').click(function() {
    $('.tooltip').fadeOut('fast', function() {
        $('.tooltip').remove();
    });
});
$.widget("ui.tooltip", $.ui.tooltip, {
    options: {
        content: function () {
            $(".ui-tooltip").fadeOut(); /* tooltip genocide */
            return $(this).prop('title');
        },
        show: {
            effect: "fade",
            delay: 750
        }
    }
});