- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在测试来自 Mozilla https://developer.mozilla.org/en-US/docs/Web/Guide/Touch_events 的 Canvas 中的多点触控示例。
这是我面临的问题:触摸界面的标识符属性在笔记本电脑上的每个触摸点上始终显示整数值 0(我使用的是 Google Chrome 版本 26.0.1410.64 m),这是一款触摸超极本。
根据规范,每次触摸的标识符应该是唯一的,但对于 Canvas 上的每个新触摸点,标识符显示为 0。
请帮助我了解导致此问题的原因,因为我想使用标识符唯一值将其映射到不同的颜色,并在触摸 Canvas 上进行绘制,例如应用程序。
最佳答案
为了回应您的评论,我认为您特别指的是这段代码:
function ongoingTouchIndexById(idToFind) {
for (var i=0; i<ongoingTouches.length; i++) {
var id = ongoingTouches[i].identifier;
if (id == idToFind) {
return i;
}
}
return -1; // not found
}
如您所见,此函数要么返回给定id的索引(如果特定的Touch
尚未结束,自上次调用处理程序以来),或返回 -1。
您链接到的代码页非常简单,IMO:每次注册新的 touchstart 事件时,都会检查正在进行的(或过去的)触摸事件的 id,并从全局(邪恶)数组中删除相应的 id。这样做的原因有很多,但我将把这些留给您去查找(或者在您尝试熟悉代码后询问后续问题)。
对于每个不同的changedtouch,标识符都是唯一的。现在,您没有提供您正在使用的代码,但我的猜测是您没有从正确的位置获得唯一标识符:
var ids = [];
for (var i=0;i<e.changedTouches.length;i++)
{
ids.push(e.changedTouches[0].identifier);
}
console.log(ids);
如果您触摸的数字超过 1 位,ids
应为每次触摸包含一个不同的 ID。
我可能在这里完全找错了树,但再次强调:将您的代码添加到问题中,以便我们可以确定。但您可能会一遍又一遍地重新分配 ID,只留下 changedTouches
数组中最后一个 Touch
的值。
您还可能尝试直接从 event
对象获取标识符。或者你也可以做别的事情,但都一样。
检查您的控制台,记录事件对象并检查该事件的 changedTouches
属性。
关于javascript - 对于不同的触摸点,touch.identifier值始终为0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16511504/
更新:添加关于 Hashable 的相同错误 我已经创建了一个 Identifiable 兼容协议(protocol)和兼容结构。然后,当我创建列表并在 ForEach 中引用它时,我收到错误 Typ
这只是我偶然发现的例子! 我正在使用 cout与 operator // imports the declaration of std::cout using namespace std; // ma
我有一些表,我使用 MySQL Workbench 创建了 role_has_action 表。 创建的字段是:(role_id,action_id,action_controller_id): (为
我有一个 codesign 无法完全验证的应用程序,因为它“不满足其指定的要求”。第一次检查返回“在磁盘上有效”,所以没关系。 codesign -dvvvv -r- PATH_TO_APP 告诉我要
我正在使用 Java SDK 创建 SAS 来访问 blob。这是代码: SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy(); p
#include "stdafx.h" #include #include #include #include #include using namespace std; #define T
我在代码中看到了这两种方法。你能解释一下这两者有什么区别吗?正如我认为它与 C++ 完成命名空间查找的方式有关,您能否也提供一些相关信息,或者提供一个好的文档的链接?谢谢。 最佳答案 示例: #inc
我一直在使用一个工具 sbconstants从我的 Xcode 项目中的 Storyboard 标识符和重用标识符创建外部常量。 我已将包含这些常量的所有声明的 header #imported 到项
我想知道 bundle Identifier(在 info.plist 中)之间的区别。以及产品 Bundle Identifier(在 Build Setting -> Packaging -> P
我有课Identifier它本质上是 UUID 的类型安全包装器(因此类 Foo 包含 Identifier )。 FooStore类有一个方法 List> bulkReadIdentifiers()
在 Go 中,公共(public)名称以大写字母开头,私有(private)名称以小写字母开头。 我正在编写一个不是库的程序,它是一个单独的包。是否有任何 Go 习语规定我的标识符应该全部公开还是全部
我有一个页面 url,它看起来像: http://mydomain.com/nodes/32/article/new?return=view 安装 tomcat 7 后,尝试访问它时出现此异常: /n
我正在学习以下教程: http://www.appcoda.com/ios7-programming-ibeacons-tutorial/ 但是,我没有使用 iPhone 作为信标,而是使用制造商(R
我在为我的 iPhone 应用程序的下一版本上传 .app 文件时收到此错误“Bundle Identifier differents from prior bundle identifier”。 注
Scene 1, Layer 'script', Frame 1, Line 9 1084: Syntax error: expecting identifier before this. Sc
升级到 Xcode 7 后,我注意到 CFBundleIdentifier 已开始指向在 Build Settings/Packaging 中找到的产品捆绑标识符,而不是 Info.Plist 中的捆
关闭。这个问题需要debugging details .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 5年前关闭。 Improve this question 我在
我使用 Apache DBCP 来获取连接池,我每次都使用 PoolingDataSource 来获取连接。当我向数据库中插入一个对象时,它工作得很好,但是当我尝试从数据库中选择一个元素时,就会出现问
由于我项目的 react-native 版本 (0.44.3),我正在尝试在版本 0.6.4 中安装包 react-native-today-widget,我能够成功安装包: yarn add rea
之前有人问过这个问题,我已经查看了所有其他 stackoverflow 主题的答案,但我无法解决这个问题。 我的应用程序在所有平台的模拟器中运行良好,但是当我在我的设备上运行该应用程序时,我收到错误代
我是一名优秀的程序员,十分优秀!