【发布时间】:2014-04-02 20:49:02
【问题描述】:
TouchEvent.supported 尝试创建TouchEvent 以确定触摸支持。这适用于实际的触摸设备,但是在使用 Chromium DevTools 时没有帮助:“模拟触摸屏”。 Chromium 确实在窗口对象上公开了函数 Touch() 和 TouchList()。我添加了对 context['Touch'] 的检查,现在显示 supportsTouchEvent: true。它仍然不能指示“模拟触摸屏”是否处于活动状态。任何建议表示赞赏!
//bool get supportsTouchEvents =>TouchEvent.supported;
bool get supportsTouchEvents {
bool bIsTouchSupported = TouchEvent.supported;
if (bIsTouchSupported == false) {
//Get the browser's native window and check for Touch function
JsObject nativeTouch = context['Touch'];
bIsTouchSupported = (nativeTouch is JsObject);
//Check Chromium DevTools "Emulate Touch Screen"
}
return bIsTouchSupported;
}
Update-1:对 context['Touch'] 函数的附加检查确实提供了更多关于触摸处理可能的信息。但这是一个误报,因为“仿真”在打开 DevTools 窗口之前是不活动的。作为一个臃肿的替代方案:如果 nativeTouch 安装鼠标和触摸流控制器/处理程序。
【问题讨论】:
-
@Günter:谢谢!我应该在原始帖子中引用它。问题仍然是“未分配缺陷”,我希望在 SO 上激发其他替代方案和想法。