6

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

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

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

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

4 回答 4

11

您可以使用 API:

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

$(...).hasClass("tooltipstered");

$(...).tooltipster('content', myNewContent);
于 2015-08-26T14:43:01.633 回答
6

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

if ($.tooltipster.instances($(node)).length == 0) {
    //it is NOT tooltipstered
}
else {
    //it is tooltipstered
}
于 2016-12-01T17:13:34.347 回答
0

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

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');
}
于 2017-07-21T13:43:35.520 回答
0

使用 .hasClass 检查它是否有 tooltipstered 类

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
}
于 2015-08-26T14:42:56.007 回答