Проверьте, назначена ли всплывающая подсказка для инструментов jquery компоненту - PullRequest
3 голосов
/ 23 января 2012

У меня есть компонент, которому я назначаю всплывающую подсказку при первом mouseenter (своего рода ленивое назначение всплывающей подсказки компоненту)

Я использую ленивый подход, так как есть много компонентов, доступных для всплывающей подсказкине хочу предварительно назначать подсказки всем им.

$(document).delegate(".tooltipable", "mouseenter", function () {
    $(this).tooltip(... options ...);
    $(this).tooltip().show(); // The tooltip will not appear on first `mouseenter` so I have to explicitly show it here
});

Это работает просто отлично.Я хотел бы улучшить его, чтобы всплывающая подсказка не создавалась на каждом mouseenter, проверяя, был ли tooltip уже создан для этого компонента.

Как это можно сделать?

Заранее спасибо!

1 Ответ

5 голосов
/ 23 января 2012

Вы можете попробовать что-то вроде этого.

$(document).delegate(".tooltipable", "mouseenter", function () {
    var $this = $(this);
    if(!$this.data("tooltipset")){
       $(this).tooltip(... options ...)
       .data("tooltipset", true);
    }
    $(this).tooltip().show(); // The tooltip will not appear on first `mouseenter` so I have to explicitly show it here
});
...