【发布时间】:2018-09-12 14:54:58
【问题描述】:
我在标签悬停时使用工具提示,但这不能在移动设备上使用,因此我决定使用点击时弹出框(移动设备的 touchstart)而不是桌面工具提示。这个技巧我在这里找到的:https://codepen.io/sharperwebdev/pen/mJYRNN
我稍微更改了我的代码,因为我希望当用户点击标签时,弹出框只会显示 1 秒。 问题是这不能完美地工作。因为当用户点击同一个标签或快速点击多个标签时会出现一些延迟问题。
我还尝试在显示新弹出框时隐藏所有其他弹出框,但它不起作用。
函数.popover('hide') 对我不起作用。所以我忘记了。
这是我的代码:
$( function () {
var toolBox = $('[data-toggle="tooltip"]');
toolBox.popover({
template: '<div class="popover ps-popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
}).on('click touchstart', function(e) {
setTimeout(function() {
$('[data-toggle="tooltip"]').popover('hide'); $('.ps-popover').fadeOut('slow'); //hide popover after 1s
}, 1000);
});
})
您可以在这里查看结果:https://codepen.io/cutis/pen/qMYrOq
【问题讨论】:
-
你能说出具体的问题吗?
-
我希望当用户点击标签时,弹出框只会显示 1 秒。问题是这不能完美地工作。当用户单击同一个标签或快速单击多个标签时会出现一些延迟问题。或者有时,用户需要点击两次才能看到弹出框
-
检查这个:codepen.io/cutis/pen/qMYrOq。当您第一次单击它时。但之后,你需要点击两次才能工作
标签: javascript jquery twitter-bootstrap-3 popover bootstrap-popover