【问题标题】:Turn the Tooltip Bootstrap functionality off关闭 Tooltip Bootstrap 功能
【发布时间】:2012-11-05 00:57:32
【问题描述】:

根据documentation 可以关闭刚刚执行$('body').off('.alert.data-api') 的功能。
tooltip 的情况下,我从 js 控制台 $('body').off('.tooltip.data-api') 尝试了以下操作,但它不会禁用按钮上的工具提示。
任何提示如何先行?

【问题讨论】:

  • 尝试从您的页面中排除“bootstrap-tooltip.js”文件。此外,由于它没有按照文档的说明进行操作,因此请在此处提出一个问题:github.com/twitter/bootstrap/issues/new

标签: javascript jquery twitter-bootstrap tooltip jquery-events


【解决方案1】:

您不能以这种方式禁用工具提示,因为它在主体上没有事件侦听器。相反,您可以使用以下代码自行禁用工具提示。

$('[rel=tooltip]').tooltip()          // Init tooltips
$('[rel=tooltip]').tooltip('disable') // Disable tooltips
$('[rel=tooltip]').tooltip('enable')  // (Re-)enable tooltips
$('[rel=tooltip]').tooltip('destroy') // Hide and destroy tooltips

编辑:对于 Bootstrap 4,'destroy' 命令已替换为 'dispose' command,因此:

$('[rel=tooltip]').tooltip('dispose') // Hide and destroy tooltips in Bootstrap 4 

【讨论】:

  • 如何禁用单个元素的工具提示,同时启用默认浏览器悬停工具提示?
  • $('#my-element').tooltip('disable').attr('title', $('#my-element').attr('data-original-title'));
  • Jasny,还有没有办法对一组缩略图元素做同样的事情?我尝试用 .my-class 替换 #my-element 但这显然不起作用;它将组的第一个标题应用于组中的所有元素。
  • 感谢您的快速响应!我发现我可以要求 fancybox API 使用不同的属性......这样我就可以在缩略图上获得工具提示 + 扩展图像上的标题:jsfiddle.net/vkDcG
  • 对于 Bootstrap 4,使用 tooltip('dispose') 代替 tooltip('destroy')
【解决方案2】:

我找到了一种使用 CSS 的方法!只需将 .tooltip { visibility: hidden } 添加到您的 CSS 文件即可。

如果您想在没有工具提示的情况下使您的链接可访问性友好,那么只需添加 aria-label= "Here's a link description."

希望这会有所帮助!

【讨论】:

  • 这也会隐藏<div>的文字,可能不是你要找的
  • 它对我有用。 @JeffXiao 为什么要隐藏 div 的文字?
【解决方案3】:

永久禁用工具提示:

$('[data-toggle="tooltip"]').tooltip("disable");

要阻止工具提示在悬停时显示,但可以重新启用它:

$('[data-toggle="tooltip"]').tooltip("destroy");

$('[data-toggle="tooltip"]').tooltip(); // re-enabling

【讨论】:

  • 这就是我想要的(将 destroy 替换为 dispose 用于引导程序 4)。我基于具有工具提示的子元素隐藏/显示父元素,因此即使父元素被隐藏,工具提示最终仍然可见。在修复损坏的悬停后立即调用 tooltip('dispose').tooltip({placement: "top"}),但请确保工具提示仍处于启用状态。
【解决方案4】:

你可以试试:

$('a[rel=tooltip]').tooltip();
$('a[rel=tooltip]').off('.tooltip');

不要忘记更改选择器。适合我...http://jsfiddle.net/D9JTZ/

【讨论】:

  • 不要解除绑定事件。 Tooltip 对象仍然存在,这使得无法重新启用工具提示。您需要禁用它或完全销毁它。
  • 请注意,您需要在该行前面加上 $('a[rel=tooltip]').tooltip();
【解决方案5】:

我也为此苦苦挣扎,但我想出了一个解决方案! 在我的情况下,我使用 Jquery Sortable,当你有工具提示飞来飞去时,这当然很烦人!

所以我做了一个变量

var sort = '0`;

因为几乎每个工具提示都有一个 init() 函数,所以我创建了

if(window.sort!='1') { // So I'm not sorting
  init.tooltip();
}

所以,这可能是最简单的启用/禁用功能!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-01
    • 2011-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 2021-04-06
    • 1970-01-01
    相关资源
    最近更新 更多