jQuery UI 工具提示:单击工具提示本身关闭

Ale*_*mov 5 html javascript jquery jquery-ui jquery-ui-tooltip

我有一个带有 jQ​​uery UI 工具提示的页面,该页面最初打开,并且关闭mouseout事件被禁用。

现在,我希望工具提示在用户单击它本身后关闭,而不是在显示工具提示的元素上关闭(正如此处的许多其他答案)。

作为可能的解决方案之一,我认为我可以click向工具提示的 div 添加一个处理程序并从那里关闭它。但我找不到使用 Tooltip 小部件 API 获取工具提示的 div 或以其他方式附加处理程序的标准方法。

我采用上述方法是否走在正确的轨道上?或者如何以不同的方式实现我所追求的目标?

JSFiddle说明了我目前所拥有的内容。

Ale*_*mov 4

click我找到了一个相对简单的解决方案,无需通过在工具提示事件中附加处理程序open并在那里关闭工具提示来破解工具提示 API:

$('.first')
    .tooltip({
         content: 'Click to close',
         position: { my: 'left center', at: 'right center' },
         items: '*'

         open: function (event, ui) {
             var $element = $(event.target);
             ui.tooltip.click(function () {
                 $element.tooltip('close');
             });
         },
    })
    .tooltip('open')
    .on('mouseout focusout', function(event) {
        event.stopImmediatePropagation();
    });
Run Code Online (Sandbox Code Playgroud)

JSFiddle