2012-02-26 63 views
2

因此,在Actionscript 3和Javascript中,为了获得适用于移动设备的触摸事件,我必须监听ontouch事件...但是,触摸事件不会在桌面上触发。 但是,在移动和桌面上都会触发鼠标事件。为什么不能touchDown和mouseDown结合?

我quesion是这样的:为什么W3有这个天赋

那岂不是很有意义刚刚使用onmouseevent?为了在移动设备和桌面上工作,我总是需要监听两个事件 - 显然这会导致移动设备出现问题,因为当我按屏幕时会触发两个事件(这意味着我必须执行一系列有条件的检查才能添加/移除事件)

我最初的想法是多点触控将是主要的原因。但是不能设计只是像.touches事件的一些参数?这可能与.pressure,.finger宽度等一起......也许是.type =“touch”或者.type =“mouse”

我确信很多想法都会涉及触摸事件,所以我敢打赌有一些正当的理由。

+0

退房flash.ui.Multitouch类,还有价值Multitouch.mapTouchToMouse值,可以帮助你。 http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/flash/ui/Multitouch.html – turbosqel 2012-02-26 21:10:37

回答

1

这与ECMA无关。此触摸事件/鼠标事件交互涵盖this spec section。特别是,在绿色的说明说,

“如果一个Web应用程序可以处理触摸事件,它可以拦截他们, 并没有相应的鼠标事件将需要由 用户代理进行调度。如果Web应用程序不是专门为 触摸输入设备编写的,它可以对后续的鼠标事件 反应。“

我建议你熟悉所引用的规范。

+0

不错。不知道有这样一个文件。我不知道preventDefault是否会在Flash中停止鼠标事件。虽然我听说有时在as3上的设备上触发事件之前会发送鼠标事件。 – 2012-02-26 19:54:54

+0

是的,所有未被JS规范覆盖的东西都应该被其他一些规范所覆盖 - 在大多数情况下它将是一个W3C规范,所以你可以使用“some topic site:w3.org”搜索引擎查询。 – 2012-02-26 20:03:08

+0

谢谢@AlexanderPavlov,但我原来的问题是为什么它是这样设计的? – K2xL 2012-02-26 20:58:57

相关问题