7

我像这样设置工具提示和对话框:

$(document).ready(function() {
    $( "#dialog" ).dialog({ autoOpen: false });
    $( document ).tooltip();

但是当我稍后打开对话框时,它的关闭工具提示总是出现在打开时,而不仅仅是像预期的那样悬停在关闭上。有没有其他人看到这种行为/知道它为什么会发生?

4

6 回答 6

7

在 jQueryUI 1.9+ 中设置items排除对话框的标题栏关闭小部件的选项似乎对我很有效

$( document ).tooltip({
  items: '*:not(.ui-dialog-titlebar-close)'
});
于 2013-08-29T15:19:16.687 回答
2

找到了解决方案:

$( "*" ).tooltip();
$('.ui-dialog-titlebar-close').tooltip('disable')

代替上述工作

于 2013-06-06T22:33:54.183 回答
1

出现工具提示是因为对话框打开时按钮会自动获得焦点(这是一种奇怪的行为)。您需要将属性“tabindex”添加到对话框中的任何元素以避免这种情况。

例如:

<table tabindex="1">
于 2014-12-22T20:51:14.937 回答
1

根据对话框的文档

打开对话框后,焦点会自动移至与以下内容匹配的第一个项目:

  • 对话框中具有 autofocus 属性的第一个元素
  • 对话框内容中的第一个 :tabbable 元素
  • 对话框按钮窗格中的第一个 :tabbable 元素
  • 对话框的关闭按钮
  • 对话框本身

所以我的解决方案是autofocus在我在对话框中使用的表单顶部添加一个空 div:

<form action="" method="post" accept-charset="utf-8">
  <div class="stealFocus" autofocus></div>
于 2016-09-05T01:38:57.143 回答
0

我用 :

$( ".selector" ).dialog({ closeText: "" });

于 2016-06-18T11:01:24.693 回答
0

1.11.3 jQuery 和 1.10.4 jUI 对我来说很好的解决方案

$.ui.dialog.prototype._focusTabbable = function(){};

它将停用自动对焦并且不再看到自动弹出窗口

于 2015-10-11T21:51:49.967 回答