Autodesk forge 使用IE 11(通过cordova)轻敲屏幕在Surface Pro上无法正常工作,从而伪造查看器选择元素

Autodesk forge 使用IE 11(通过cordova)轻敲屏幕在Surface Pro上无法正常工作,从而伪造查看器选择元素,autodesk-forge,autodesk-viewer,Autodesk Forge,Autodesk Viewer,使用Surface pro触摸屏选择查看器中的元素有时有效,有时可能转换为旋转/缩放动作。在这种情况下,查看器会旋转/移动,而元素不会被选中 当记录事件时,会有大量鼠标下/上事件,当鼠标不工作时,还会有鼠标移动。当“选择”起作用时,会发生一次单击事件 双击似乎可以。 使用标准工具进行缩放/旋转等操作正常 使用可使Surface pro移动并单击的键盘盖触摸板按预期工作,并选择元素 在GETAC Windows 10加固平板电脑上运行相同的应用程序时,select元素工作正常,因此它似乎与Surf

使用Surface pro触摸屏选择查看器中的元素有时有效,有时可能转换为旋转/缩放动作。在这种情况下,查看器会旋转/移动,而元素不会被选中

当记录事件时,会有大量鼠标下/上事件,当鼠标不工作时,还会有鼠标移动。当“选择”起作用时,会发生一次单击事件

双击似乎可以。 使用标准工具进行缩放/旋转等操作正常

使用可使Surface pro移动并单击的键盘盖触摸板按预期工作,并选择元素

在GETAC Windows 10加固平板电脑上运行相同的应用程序时,select元素工作正常,因此它似乎与Surface Pro相关

无法更改浏览器,因为cordova应用程序在windows上使用IE11,目前已修复

目前我能想到的唯一解决方案是完全(以某种方式)删除标准导航工具,并重新创建一个选择模式工具,该工具将忽略任何鼠标移动,并使用按钮按下事件来选择元素

有没有关于如何解决这个问题的建议

技术详情: Windows 10 Pro, Surface Pro, 浏览器:IE11, 查看器版本2.11, 其他:WINJS81 cordova应用程序


感谢您的帮助

我们过去在Surface Pro上遇到过触摸事件问题。听起来触摸屏的边缘过于敏感,会触发额外的触摸点

如果您举着设备,用一只手握住,然后用另一只手触摸/选择3D对象,是否会出现问题


你能不能再做一次选择,但这次,确保你的另一只手没有抓住屏幕的边缘?(可能将设备放在桌面上,这样您就不会举起它了)

我们过去在surface Pro上遇到过触摸事件问题。听起来触摸屏的边缘过于敏感,会触发额外的触摸点

如果您举着设备,用一只手握住,然后用另一只手触摸/选择3D对象,是否会出现问题


你能不能再做一次选择,但这次,确保你的另一只手没有抓住屏幕的边缘?(可能将设备放在桌面上,这样您就不会举起它)

找到了解决此问题的方法。在基础工具控制器的viewer3D中,有一条直线

var kClickThreshold = 2;
此值在代码中进一步使用,以确定是否发生了单击。它通过比较XY上下事件来实现

var deltaX = _downX - event.canvasX;
var deltaY = _downY - event.canvasY;

_downX = -1;
_downY = -1;

if( Math.abs(deltaX) <= kClickThreshold && Math.abs(deltaY) <= kClickThreshold )
    _this.handleSingleClick( event );
var deltaX=\u downX-event.canvasX;
var deltaY=_downY-event.canvasY;
_downX=-1;
_绒毛=-1;

如果(Math.abs(deltaX)找到了此问题的修复方法。在基本工具控制器的viewer3D中,有一条直线

var kClickThreshold = 2;
此值在代码中进一步用于确定是否发生了单击。它通过比较XY on down和up事件来确定

var deltaX = _downX - event.canvasX;
var deltaY = _downY - event.canvasY;

_downX = -1;
_downY = -1;

if( Math.abs(deltaX) <= kClickThreshold && Math.abs(deltaY) <= kClickThreshold )
    _this.handleSingleClick( event );
var deltaX=\u downX-event.canvasX;
var deltaY=_downY-event.canvasY;
_downX=-1;
_绒毛=-1;

如果(Math.abs(deltaX)是个好主意,我尝试在桌面上使用手指和指针设备,结果仍然相同。有时它会选择其他时间不选择。它更可能执行其他操作(例如,微小旋转或微小移动),而不是选择元素。我刚刚注意到您使用的是旧版本(v2.11)浏览器的最新版本。你能试试这个新版本并告诉我你是否仍然遇到同样的问题吗?我没有在我的应用程序中设置最新版本的浏览器,但我尝试了你在Surface Pro的IE11上提供的url。它仍然有类似的行为。如果你在大多数情况下显示属性面板,然后选择一个元素(没有标准导航工具处于活动状态)您会得到相应的小旋转,有时会选择元素。好主意,我尝试在桌面上使用手指和指针设备,结果仍然相同。有时它会选择其他时间不选择。它更有可能执行其他操作(例如,微小旋转或微小移动)而不是选择元素。我只是注意到您使用的是旧版本(v2.11)浏览器的最新版本。你能试试这个新版本并告诉我你是否仍然遇到同样的问题吗?我没有在我的应用程序中设置最新版本的浏览器,但我尝试了你在Surface Pro的IE11上提供的url。它仍然有类似的行为。如果你在大多数情况下显示属性面板,然后选择一个元素(没有激活的标准导航工具)您会得到相应的小旋转,有时会选择图元。