Jquery在触摸屏上添加类和数据
Jquery add classes and data on touchscreens
我不完全确定我是否了解如何使用Jquery检测触摸屏和更改类。所以不管怎样,我有一个引导导航菜单,下拉菜单显示在桌面上的"悬停"上。我已经设法禁用了触摸设备上的悬停功能使用:
if (!("ontouchstart" in document.documentElement)) {
document.documentElement.className += " no-touch"; }
现在,我想在下拉项中重新添加类,以再次启用切换下拉项。这就是我想到的:
$('.dropdown a').on('touchstart', function(){
$(this).addClass('dropdown-toggle');
$(this).data('toggle','dropdown');
});
很明显,它在ipad上运行,但在我的kindle fire上不起作用。为什么上面的第一个代码有效,而这里的第二个代码无效?
'ontouchstart'是苹果处理触摸事件的方式,因此仅适用于iOS。
对于所有其他设备,您必须使用"onpointerdown"。
在这里,http://www.stucox.com/blog/you-cant-detect-a-touchscreen/浏览器无法真正检测到是否存在可触摸显示器,因此您必须假设所有设备都具有触摸功能并进行适当的编码。
更复杂的是,试图将触摸和点击分开,就用一台触摸屏笔记本电脑走出了窗口。
我写了一个jQuery插件,它统一了所有设备的触摸/悬停/点击行为,它的工作方式正是你正在处理的。根据你想做的事情交换课程。
本文将详细介绍浏览器如何解释这些不同的交互。http://fallingmonocle.com/monocle-toggle.php
相关文章:
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- 将嵌套对象数据添加到窗体中
- 挖空.js - 向服务器端发送的数据添加属性
- 如何将数据添加到json的子节点
- 无法将 json 数据添加到 pyjade 中的数据属性
- 通过变量将数据添加到图形中
- 预先构建的GUI,用于上传.csv并将数据添加到mysql数据库
- Fullcalendar-我们可以将自定义数据添加到我们的活动Json数据中吗
- 将多个csv文件中的时间戳数据添加到highchart中
- 将文本框中的数据添加到表Javascript、HTML中
- 无法使用asp.net mvc将数据添加到数据库中
- 用javascript将数据添加到对象数组中
- 我该如何将自己的数据添加到响应迅速的美国各州地图中
- 在$.ajax调用中将附加数据添加到jQuery包装的对象数据中
- 将新的系列[0]数据添加到现有的高位图表中
- 为高图实时数据添加一个附加点
- 如何在D3中为用于显示饼图的数据添加键
- CSS 为 JSON 数据添加两行字符
- 将数据添加到 ko.observablearray 的末尾
- 向数据表中的 json 数据添加文本