22

为简单起见,我想在页面的所有元素上启用 jQuery UI 工具提示小部件:

然后为某些元素或元素及其后代禁用它。但这似乎不起作用:

$(document).tooltip({ track: true });
$('#menu *[title]').tooltip({ disabled: true });

我的$('#menu *[title]')选择器似乎按我的预期工作,获取所有具有 #menu 元素的 title 属性的后代元素。

那么为什么禁用选项不能.tooltip({ disabled: true });禁用这些元素的工具提示呢?是否有另一种方法和/或更好的方法来实现这一点?

4

9 回答 9

29

在所有元素上设置工具提示:

$('*').tooltip();

并禁用

$('#menu *[title]').tooltip('disable');

啦啦:

jsFiddle

于 2012-10-31T09:43:58.117 回答
10

上面的答案都不适合我,现在这样做的方法似乎是使用items 选项

$("*").tooltip({ items: ':not(.menu)' });
于 2014-03-23T16:03:43.660 回答
3

这些都不适合我,它一直让我发疯。

这对我有用:

$(document).tooltip({ content: function () { return $(this).not('#NoTipDiv *[title]').attr('title'); });

$('*').tootip 会严重延迟您的页面查看!

于 2014-02-13T12:19:45.037 回答
2

如果您使用 selector 而不是$(document),请不要忘记在适当的时候调用该代码。

$(document).tooltip({show: false});
$(document).ready( function(){
    $('#OK_Button').tooltip({disabled: true});
});
于 2016-12-14T13:45:56.763 回答
0

也许$(':not(.menu *[title])').tooltip({ track: true });

于 2012-10-30T17:15:37.540 回答
0

根据我的回答日期的 jQueryUI 文档。

$( ".selector" ).tooltip( "option", "disabled", true );

于 2015-04-23T19:34:25.207 回答
0

这就是我现在正在做的事情..

显示工具提示:

  • 排除任何具有“noToolTip”类的内容。
  • 然后包括这些:
    • 具有 TITLE 属性的元素。
    • 具有 ALT 属性的 IMG 元素。
    • 任何具有类“工具提示”和 TITLE 属性的东西。

这是我的 JavaScript 代码。

// Set up tool tips for images and anchors.
$( document ).tooltip({
   items: "img[alt], a[title], .toolTip[title], :not(.noToolTip)",
   track: true,
   content: function() {
      var element = $( this );
      // noToolTip means NO TOOL TIP.
      if ( element.is( ".noToolTip" ) ) {
         return null;
      }
      // Anchor - use title.
      if ( element.is( "a[title]" ) ) {
         return element.attr( "title" );
      }
      // Image - use alt.
      if ( element.is( "img[alt]" ) ) {
         return element.attr( "alt" );
      }
      // Any element with toolTip class - use title.
      if ( element.is( ".toolTip[title]" ) ) {
         return element.attr( "title" );
      }
   }
});
于 2015-05-24T08:25:43.840 回答
0

对于在 ASP.NET MVC Razor 页面中遇到此问题的任何人。这是由于剃须刀助手。您需要将以下内容添加到 @Html.EditorFor 属性。

    autocomplete = "off"

下面是一个示例表单组,您可以在其中执行此操作。

<div class="form-group">
   @Html.LabelFor(model => model.Field, htmlAttributes: new { @class = "control-label col-md-2" })
   <div class="col-md-10">
      @Html.EditorFor(model => model.Field, new { htmlAttributes = new { @class = "form-control date-field", autocomplete = "off" } })
      @Html.ValidationMessageFor(model => model.Field, "", new { @class = "text-danger" })
   </div>
</div>
于 2019-02-10T05:52:25.567 回答
-1

以上都没有为我工作......但这确实(在初始化之后):

$("#selector").tooltip("disable");
于 2017-12-20T19:36:32.707 回答