javascript - 用于桌面和移动平台的 Twitter bootstrap popover 触发器

标签 javascript css twitter-bootstrap popover

默认 popover触发选项是点击。但我需要将其更改为悬停。可以这样做:

$("#popover").popover({ trigger: "hover" });

但这对智能手机没有意义。用户无法阅读悬停触发的弹出窗口。

对于我网站的“div”部分,我使用“visible-desktop”或“隐藏桌面”。你能提供一个好的方法吗 使用悬停触发弹出窗口 - 适用于桌面 智能手机/平板电脑点击触发弹出窗口。 (我用的是bootstrap 2.3.1)

相关: Make Bootstrap Popover Appear/Disappear on Hover instead of Click

最佳答案

我最好的建议是检测是否有触摸事件。如果是(“无”悬停能力),请使用“单击”...如果不是,请使用“悬停”。试试这个:

var is_touch_device = ("ontouchstart" in window) || window.DocumentTouch && document instanceof DocumentTouch;
$("#popover").popover({
    trigger: is_touch_device ? "click" : "hover"
});

(触摸检测取自 Modernizr 库)

What's the best way to detect a 'touch screen' device using JavaScript?

Detecting touch screen devices with Javascript

关于javascript - 用于桌面和移动平台的 Twitter bootstrap popover 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15690781/

相关文章:

css - 如何创建带有嵌套列表的水平日历?

html - bootstrap 下拉列表的大小错误。没有反应如何解决?

jquery - Bootstrap 移动过渡

javascript - 当通过 Javascript 触发时,Bootstrap Modal 不会向 body 添加 modal-open 类

javascript - 切换 CSS 类对元素没有影响

javascript - 根据表单提交返回信息

Javascript onbeforeunload - 在退出时显示图像

javascript - Visual Studio 和 IE 之间的 XSL/JScript 行为差异

html - Rails 4 行元素的备用背景

javascript - 如何使用 Java Script 和 Twitter Bootstrap 创建一个 "next"按钮来切换选项卡