如何防止在打开对话框时显示工具提示
How to prevent tooltip from showing when dialog is opened
我必须遵循以下场景:
我的网站上有几个对话框(一些是静态的,一些是用 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 或转义关闭对话框),我想在对话框中保留工具提示的功能。
注意:并非每个对话框都会在点击事件中打开。
我找到了一个简单的解决方案来解决我的问题:
$('body').tooltip({
items: ":not(.ui-dialog-titlebar-close)"
});
这将从工具提示功能中排除对话框中的关闭按钮,而不会影响自动对焦。
现在关闭按钮没有工具提示,但其余部分不受影响。
这可以轻松扩展并处理 ajax 生成的内容。
试试这个:愿有帮助
$('.open').on('click', function(){
$('.dialog').dialog('open');
$(this).focus();
});
打开对话框后,您可能需要初始化工具提示,它可以解决问题,但我不确定这是最好的方法。
无论如何,这是演示。http://jsfiddle.net/utj47ty9/1/
$(document).ready(function(){
$('.dialog').dialog({autoOpen: false});
$('.open').on('click', function(){
$('.dialog').dialog('open');
$('body').tooltip();
});
});
相关文章:
- Highcharts-在单击而不是悬停时显示工具提示
- C3.js通过单击按钮显示工具提示
- 未单击按钮时显示工具提示
- 高图表在点单击时显示工具提示
- Flexslider-当鼠标悬停在点上时显示工具提示
- 高亮显示工具提示共享项,具体取决于Highcharts中悬停的系列
- 显示工具提示而不双击字段
- 在 Twitter 引导程序中自动显示工具提示,而无需放置光标
- 悬停时显示工具提示
- 隐藏 x 轴标签,但在图表.js中显示工具提示
- 突出显示工具提示中未显示名称的 3D 散点
- 如何在图像库森时更改颜色和显示工具提示
- q提示 2 - 鼠标按下以显示工具提示?鼠标向上隐藏
- D3.js水平折线图无法正确显示工具提示
- 在 d3.js 折线图中永久显示工具提示
- 如何在 SVG 上的鼠标光标旁边显示工具提示,尽管网站上有非 SVG 元素
- 高图表在类别标签悬停时显示工具提示
- 仅在完全创建时显示工具提示
- 鼠标输入时未显示工具提示
- 鼠标悬停时无法显示工具提示,jQuery1.11