使用带有工具提示的jquery ui对话框会导致工具提示在打开时显示,而不是悬停

时间:2013-06-06 17:08:43

标签: jquery-ui

我设置了工具提示和对话框,如下所示:

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

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

6 个答案:

答案 0 :(得分:7)

在jQueryUI 1.9 +

中设置items选项以排除对话框的标题栏关闭小部件似乎对我有用
$( document ).tooltip({
  items: '*:not(.ui-dialog-titlebar-close)'
});

答案 1 :(得分:2)

找到解决方案:

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

取代上述

答案 2 :(得分:1)

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

例如:

<table tabindex="1">

答案 3 :(得分:1)

根据dialog's documentation

  

打开对话框后,焦点会自动移动到第一个项目   符合以下内容:

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

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

<form action="" method="post" accept-charset="utf-8">
  <div class="stealFocus" autofocus></div>

答案 4 :(得分:0)

1.12.3 jQuery和1.10.4 jUI的好解决方案

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

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

答案 5 :(得分:0)

我用:

$(“。selector”)。dialog({closeText:“”});