在mousedown事件完成后销毁bootstrap-popover

时间:2014-10-12 01:34:07

标签: javascript jquery twitter-bootstrap popover

我希望在mousedown事件完成后销毁特定的弹出窗口。只要用户按下鼠标,弹出窗口就可见。当用户不再使用时,应该延迟让我们说3.5秒,然后它应该被销毁。

只要mousedown为真,我当前的实现就会正确显示popover,但是当我释放鼠标时,会立即销毁popover,不会有任何延迟。我该怎么办?

jQuery的:

function destroyPopover(selector)
{
    setTimeout(function () {
        $(selector).popover('destroy');
        }, 3500);
}   

...

$('#otp_table').on('mousedown', 'td', function() {
        $(this).popover({
                container: 'body',
                content: 'Lorem ipsum',
                placement: 'top',
            }).popover('show');
    }, hidePopover(this));

1 个答案:

答案 0 :(得分:2)

为了解决我的问题,我在popover对象中添加了这一行:

delay: { "hide": 3500 },

给出了这个......

$('#otp_table').on('mousedown', 'td', function() {
    $(this).popover({
            container: 'body',
            delay: { "hide": 3500 },
            content: 'Lorem ipsum',
            placement: 'top',
        }).popover('show');
}, destroyPopover(this);

另外,我已经删除了destroyPopover()函数中的setInterval,这就是这个...

function destroyPopover(selector)
{
    $(selector).popover('destroy');
}

希望它会有用!