关闭某些元素的jQuery UI工具提示

时间:2012-10-30 17:07:04

标签: jquery-ui tooltip

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

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

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

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

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

9 个答案:

答案 0 :(得分:27)

使用以下命令在所有元素上设置工具提示:

$('*').tooltip();

并使用

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

一个la:

jsFiddle

答案 1 :(得分:10)

上述答案都没有对我有用,现在看来这样做的方法是使用items option

$("*").tooltip({ items: ':not(.menu)' });

答案 2 :(得分:3)

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

这对我有用:

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

$('*')。tootip会严重延误您的网页浏览量!

答案 3 :(得分:1)

如果您使用选择器代替$(document),请不要忘记在适当的时候调用该代码。

$(document).tooltip({show: false});
$(document).ready( function(){
    $('#OK_Button').tooltip({disabled: true});
});

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

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

答案 6 :(得分:0)

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

显示工具提示:

  • 使用“noToolTip”类排除任何内容。
  • 然后包含以下内容:
    • 具有TITLE属性的元素。
    • 具有ALT属性的IMG元素。
    • 任何具有“toolTip”类和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" );
      }
   }
});

答案 7 :(得分: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>

答案 8 :(得分:-1)

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

$("#selector").tooltip("disable");