我必须遵循以下场景:
我的网站上有几个对话框(一些是静态的,一些是用 ajax 加载的内容创建的,一些是在页面加载后创建的)。
举个例子:
$(".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 tooltip
:
$('#main').tooltip();
每次打开对话框时,都会通过位于对话框关闭按钮上的 autofocus
触发工具提示。
现在我的问题是: 如何防止在打开对话框时显示工具提示?
我可以在工具提示的初始化中设置一个选项,因此当焦点设置在关闭按钮上时不会触发工具提示吗?这将是最好的解决方案,因为我只有一个地方可以调用工具提示并且我必须更改一些东西。 事实上,我不想改变焦点,但不想显示工具提示。
我知道这可以通过 :tabbale
或 autofocus
属性来完成,但是还有其他方法吗?我不想编辑项目中的所有对话框以添加新的自动对焦元素(然后在打开后无法通过按 enter 或 escape 关闭对话框)我想在对话框中保留工具提示的功能。
注意:并非每个对话框都在点击事件中打开。
最佳答案
我找到了一个简单的解决方案来解决我的问题:
$('body').tooltip({
items: ":not(.ui-dialog-titlebar-close)"
});
这将从工具提示功能的对话框中排除关闭按钮,而不影响自动对焦。
现在关闭按钮没有tooltip,其他不受影响。
这可以轻松扩展并使用 ajax 生成的内容。
关于javascript - 如何防止在打开对话框时显示工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26973188/