我希望在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));
答案 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');
}
希望它会有用!