需要打开'this'工具提示

时间:2013-11-26 09:51:31

标签: jquery this

我有这个脚本为我的工具提示添加一个关闭按钮,但我的问题是因为我有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');

}); 

2 个答案:

答案 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 });

http://jsfiddle.net/jKwZ6/20/