Javascript 如何防止打开对话框时显示工具提示

Javascript 如何防止打开对话框时显示工具提示,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我必须考虑以下情况: 在我的站点上有几个对话框(一些是静态的,一些是用ajax加载的内容创建的,一些是在pageload之后创建的) 一个例子是: $(".agreementcount_dialog").dialog({ position: { my: "center center", at: "center center" }, draggable: true, resizable: true, modal: false,

我必须考虑以下情况:

在我的站点上有几个对话框(一些是静态的,一些是用ajax加载的内容创建的,一些是在pageload之后创建的)

一个例子是:

$(".agreementcount_dialog").dialog({
    position: {
        my: "center center",
        at: "center center"
    },
    draggable: true,
    resizable: true,
    modal: false,
    width: 250,
    height: 300,
    close: function () {
        $(this).dialog("close");
    }
});
其中包括jQuery UI
工具提示

$('#main').tooltip();
每次打开对话框时,工具提示都会通过对话框关闭按钮上的自动对焦触发

现在我的问题是: 如何防止打开对话框时显示工具提示

我是否可以在工具提示的初始化中设置一个选项,以便在关闭按钮上设置焦点时不会触发工具提示?这将是最好的解决方案,因为我只有一个地方可以调用工具提示,在那里我必须更改某些内容。 事实上,我不想改变焦点,但不想显示工具提示。

我知道可以用
:tabbale
自动对焦
属性来完成,但还有其他方法吗?我不想编辑项目中的所有对话框以添加新的自动对焦元素(,然后在打开后按enter或escape键无法关闭对话框),我想在对话框中保留工具提示的功能

注意:并非每个对话框都在单击事件中打开。

试试这个:可能有帮助吗

$('.open').on('click', function(){
   $('.dialog').dialog('open');
   $(this).focus();
});

您可能需要在打开对话框后初始化工具提示,它解决了问题,但我不确定这是最好的方法

不管怎样,这是演示


我找到了解决问题的简单方法:

$('body').tooltip({ 
    items: ":not(.ui-dialog-titlebar-close)" 
});
这将从工具提示功能中排除对话框中的关闭按钮,而不会影响自动对焦

现在“关闭”按钮没有工具提示,但其他按钮不受影响


这可以很容易地扩展,并与ajax生成的内容一起使用。

这会起作用,但在打开对话框后,在enter或escape时关闭对话框的功能正在丢失。感谢您的回答,但这对我来说不起作用,因为即使之前没有打开对话框,我也需要工具提示。不留下评论的向下投票。。。。
$('body').tooltip({ 
    items: ":not(.ui-dialog-titlebar-close)" 
});