Ale*_*mov 5 html javascript jquery jquery-ui jquery-ui-tooltip
我有一个带有 jQuery UI 工具提示的页面,该页面最初打开,并且关闭mouseout事件被禁用。
现在,我希望工具提示在用户单击它本身后关闭,而不是在显示工具提示的元素上关闭(正如此处的许多其他答案)。
作为可能的解决方案之一,我认为我可以click向工具提示的 div 添加一个处理程序并从那里关闭它。但我找不到使用 Tooltip 小部件 API 获取工具提示的 div 或以其他方式附加处理程序的标准方法。
我采用上述方法是否走在正确的轨道上?或者如何以不同的方式实现我所追求的目标?
JSFiddle说明了我目前所拥有的内容。
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)