Autodesk Forge Viewer触摸设备实现与点击一致多选功能问询
解决方案
Forge Viewer 自7.51版本起默认对触摸设备隔离了桌面端click交互逻辑,你可以通过以下两种方式实现触摸端的多选效果:
- 直接配置tap交互规则(推荐)
Viewer的setCanvasClickBehavior本身支持独立配置触摸端的tap行为,和你原有click配置保持一致即可,无需手动拦截tap事件分发click:
this.adskViewer.viewer.setCanvasClickBehavior({ click: { onObject: [isMultiple ? 'selectToggle' : 'selectOnly'], offObject: ['deselectAll'], }, // 新增触摸端tap配置,和click逻辑对齐 tap: { onObject: [isMultiple ? 'selectToggle' : 'selectOnly'], offObject: ['deselectAll'], } });
- 强制覆盖移动端检测逻辑
如果不想修改原有配置,也可以直接覆写Viewer的移动端检测方法,让click逻辑在触摸设备也正常执行:
// 初始化Viewer后执行即可 this.adskViewer.viewer.isMobileDevice = () => false;
注意:第二种方案会让Viewer全局认定当前运行环境为非移动端,可能影响双指缩放、长按等移动端专属默认交互,若无特殊定制需求优先选用第一种方案。
内容的提问来源于stack exchange,提问作者Nikitaev Ilya
相关产品推荐
相关产品推荐

