我有这个脚本为我的工具提示添加一个关闭按钮,但我的问题是因为我有2个工具提示我需要添加一个'打开这个工具提示',但我不知道在哪里,有人可以帮助我。
var $t = $('.by-click').tooltipster({
trigger: 'custom',
timer: 0,
functionReady: function(origin, tooltip) {
tooltip.find('.tooltipster-content').css('pointer-events', 'auto')
.on('mouseleave.tooltipster', function(e) {
e.stopImmediatePropagation();
})
.find('.close-tlp')
.on('click', function(e) {
origin.tooltipster('hide');
e.preventDefault();
});
}
});
$('.by-click').on('click', function(e) {
$t.tooltipster('show');
});
答案 0 :(得分:1)
元素的ID必须是唯一的,因此请将button
的ID更改为类属性
<button class="btn">Click me!</button>
然后在按钮单击处理程序中精确处理前一个元素,该元素是tooltip
初始化的元素,然后显示它
$('.btn').on('click', function(e) {
$(this).prev().tooltipster('show');
});
演示:Fiddle
答案 1 :(得分:0)
最好使用事件委托来完成这些事情。比较:
$(document)
.on('mouseleave.tooltipster', function (e) {
e.stopImmediatePropagation();
})
.on('click', '.tooltipster-show', function (e) {
$(this).parent().find('.tooltipster').tooltipster('show');
})
.on('click', '.tooltipster-hide', function (e) {
$(this).closest(".tooltipster-base").data("origin").tooltipster('hide');
});
$('.tooltipster').tooltipster({ trigger: 'custom', timer: 0 });