- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
由于touchstart、tap和300ms延迟点击之间的冲突,做一个好的快速响应的网站相对困难。
当然 vclick
应该可以解决这些问题,但他们似乎也无法完全解决这些问题。来自文档:
Warning: Use vclick with caution
Use vclick with caution on touch devices. Webkit based browsers synthesize mousedown, mouseup, and click events roughly 300ms after the touchend event is dispatched. The target of the synthesized mouse events are calculated at the time they are dispatched and are based on the location of the touch events and, in some cases, the implementation specific heuristics which leads to different target calculations on different devices and even different OS versions for the same device. This means the target element within the original touch events could be different from the target element within the synthesized mouse events.
We recommend using click instead of vclick anytime the action being triggered has the possibility of changing the content underneath the point that was touched on screen. This includes page transitions and other behaviors such as collapse/expand that could result in the screen shifting or content being completely replaced.
现在我正在考虑做一些更简单的事情。每当触发 touchstart 事件时,我都知道这是一个触摸设备。我只是禁用所有点击事件,并仅开始监听 touchstart(或点击)事件。忽略 300 毫秒的延迟点击事件。
当然有带有鼠标和触摸的设备,但同时使用这些设备的人对我来说似乎是少数。
这是个好主意,还是我的想法遗漏了什么?
最佳答案
首先……是什么让您说同时使用触摸和鼠标输入的人是少数?
使用 <meta name="viewport" content="width=device-width">
时,300 毫秒的点击延迟在 Android 上已经消失了一段时间。 .不幸的是can't be removed on iOS因为它是不可缩放页面上的滚动手势,几乎没有人注意到这一点。
我认为最好的方法仍然是同时支持鼠标和触摸输入,尽管在 iOS 设备上有 300 毫秒的延迟。假设用户只使用一次触摸输入是很危险的。
想象一下用户愉快地使用鼠标进行导航。他们看到一些有趣的东西,他们想看得更近一点,所以他们使用触摸手势来放大,突然间鼠标点击就不再起作用了。这对我来说听起来很糟糕。
我只记得一个interesting discussion关于检测鼠标用户。也许它会帮助您以不同的方式看待事物。
关于javascript - 在第一个 touchstart 事件中禁用所有点击事件是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27398044/
我正在更新一个旧的经典 ASP 站点并且我需要存储密码,因此考虑到经典 ASP 的局限性,我对如何处理这个问题自然有点过于谨慎。 我同时使用盐和胡椒(胡椒是存储在服务器上而不是数据库中的常量),我只是
我已经设置了我的数据库来记录每次失败的登录尝试。我以为我会将失败尝试的次数乘以 0.05 秒之类的。就像是: time_nanosleep(0, (50000000 * $fa
我想测量 1GB LAN 上消息代理的广播消息延迟。 消息以 pub sub 方式传输,一个发布者,多个消费者。生产者使用系统时钟(C# 中的 DateTime.Now)为每条消息加上时间戳,消费者通
我正在尝试学习代码契约并了解它们的用处。 我有一个 WPF 应用程序,因此很多代码注定要在 UI 线程上独占运行。相当多的实用程序类期望仅从 UI 线程调用。 在我的代码中加入这些是个好主意吗?为什么
我加入了一家小公司,该公司主要销售一种网络应用程序。 Web 应用程序中的数据非常敏感,以至于所有数据都经过字段级加密。应用程序使用 ASP.NET Web API 2(C#) 编写,前端为 html
对于我网站的后端,只有少数人可见,我有一个系统,通过 ajax 与 php 进行通信,如下所示: function ajax(url, opts) { var progress = false
我们有相当大的文档集,我们希望我们的用户能够查看和过滤这些文档。为了加快速度,我们只向客户发送有限数量的文件。但是,由于我们确实需要客户端能够过滤文档,因此我们需要一种方法来发送他们可以过滤的键和值。
我从 14 岁起就开始阅读游戏引擎书籍(那时候我什么都不懂:P)几年后,我想开始为我的游戏引擎编写数学基础。我一直在思考如何设计这个“图书馆”。 (我的意思是“有组织的文件集”)每隔几年就会出现新的
我们正在使用 Rails 为餐厅构建 SaaS 后端。我们直接与 POS 集成,因此每个 POS 不断发送我们存储的客户订单以供以后处理。我们在大约 1,000 个地点进行了这种 POS 集成,每月向
我正在设计一个系统,但我认为让最终用户能够删除数据库中的条目并不是一个好主意。我是这么认为的,因为通常最终用户一旦获得管理员权限,最终可能会在数据库中弄得一团糟,然后求助于我来修复它。 当然,如果他们
我正在考虑使用 RESTful Web 服务构建应用程序。我的想法是将应用程序的 RESTful(json 等)部分构建为独立的,然后将前端(例如 html/css/js/等)构建为该服务的客户端,虽
我有一种情况,我要保留对需要持久化的 ivar 的引用。在一个对象中,我有一个指向另一个对象中的 ivars 的指针数组,这些指针在程序的整个生命周期中都被使用。换句话说,我不只是传递一个引用来检索一
有没有prototype没有任何 DOM/ajax 部件的 fork?我真的更喜欢 jQuery,并且不想背负额外的包袱。到目前为止,我一直在使用优秀的 JS.Class库,它甚至不触及内置类原型(p
我正在从事的项目需要我编写大量重复代码。例如,如果我想在我的代码中加载一个名为“logo.png”的图像文件,我会这样写:位图标志图片; ... // Init logoImage = load("l
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 3年前关闭。 Improve t
我有一个小型网站,大约有 5-10 名管理员。我已将其设置为监视每个管理员正在做什么(添加项目、删除项目等)。我在我们的管理面板中有一个列表,显示了集体管理部门之前执行的 10 项事件。今天,我决定每
我看到将 PostgeSQL 数据库转储到一个大 SQL 文件中,然后提交并推送到远程 Git 存储库的方式可能是一个了不起的备份解决方案:我获得了所有版本的历史记录、散列、安全传输、单向(真的很难通
我正在开发一个需要本地化和国际化的 Web 应用程序。我突然想到我可以使用依赖注入(inject)框架来做到这一点。假设我声明了一个接口(interface) ILocalResources(在本示例
更新 :正如我所料,社区针对这个问题给出的合理建议是“衡量并观察”。 chibacity posted an answer一些非常好的测试为我做了这件事;同时,我自己写了一个测试;我看到的性能差异实际
我想知道使用 new 运算符创建对象但不将返回的对象分配给任何变量是否是个好主意。本质上,我只是在同一行中调用这些方法。例如: new Object().ToString(); 好吧,我知道上面的行不
我是一名优秀的程序员,十分优秀!