Javascript 如何防止打开对话框时显示工具提示
我必须考虑以下情况: 在我的站点上有几个对话框(一些是静态的,一些是用ajax加载的内容创建的,一些是在pageload之后创建的) 一个例子是: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,
$(".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)"
});