【问题标题】:[Tooltipster Plugin]- Know if div already have tooltipster[Tooltipster 插件]- 知道 div 是否已经有 tooltipster
【发布时间】:2015-08-26 14:39:02
【问题描述】:

我正在使用这个插件http://iamceege.github.io/tooltipster/

有可能知道 HTML 是否已经初始化了工具提示器?

我想知道,因为有时我需要更改工具提示的文本,为此,我需要销毁工具提示器,更改 HTML 对象的属性标题,然后再次初始化。像这样:

$(this).tooltipster('destroy').attr("title", data.fields[i].value).tooltipster();

【问题讨论】:

    标签: javascript jquery html css tooltipster


    【解决方案1】:

    您可以使用 API:

    检查元素是否已经有提示器:

    $(...).hasClass("tooltipstered");
    
    $(...).tooltipster('content', myNewContent);
    

    【讨论】:

    • 如果它被禁用了怎么办?它还有课吗?
    • @Stephane 应该是...这个答案是关于一个插件的,从那时起一直在开发,已经2年了。这可能无效。
    【解决方案2】:

    接受的解决方案不适用于带有 tooltipster v4.1.6 的 SVG 元素。 我就是这样解决的:

    if ($.tooltipster.instances($(node)).length == 0) {
        //it is NOT tooltipstered
    }
    else {
        //it is tooltipstered
    }
    

    【讨论】:

      【解决方案3】:

      使用 .hasClass 检查它是否有工具提示类

      var divToCheck = null; //FIXME: update to whatever query you use to get the div you're checking
      if (divToCheck.hasClass('tooltipstered')) {
        //TODO: update your title
      }
      

      【讨论】:

      • 请编辑更多信息。纯代码和“试试这个”的答案是discouraged,因为它们不包含可搜索的内容,也没有解释为什么有人应该“试试这个”。我们在这里努力成为知识的资源。
      【解决方案4】:

      您可以检查它是否需要实例化或简单地启用:

      if (!$(id).hasClass("tooltipstered")) {
          $(id).tooltipster({
           position: 'top-left',
           contentAsHTML: 'true',
           theme: '.tooltipster-default',
           animation: 'grow'
          });
      } else {
          $(id).tooltipster('enable');
      }
      

      确保在禁用它之前检查它是否已实例化:

      if ($(id).hasClass("tooltipstered")) {
         $(id).tooltipster('disable');
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-03-09
        • 1970-01-01
        • 1970-01-01
        • 2020-05-02
        • 1970-01-01
        • 2021-06-14
        • 1970-01-01
        相关资源
        最近更新 更多