MarkupsCore扩展监听EVENT_EDITMODE_CREATION_END事件不生效如何解决
问题原因
你监听的EVENT_EDITMODE_CREATION_END属于未公开的内部事件,且绑定对象错误:该事件是编辑模式实例的事件,并非MarkupsCore扩展根对象的事件,所以无法触发。
推荐解决方案
使用官方公开的稳定事件实现需求,无需依赖未公开的内部实现:
- 监听新标记创建完成:使用
EVENT_MARKUP_CREATED事件 - 监听已有标记编辑修改完成:使用
EVENT_MARKUP_UPDATED事件
需确保在MarkupsCore扩展完全加载完成后再绑定事件,推荐直接使用扩展暴露的事件常量,避免字符串拼写错误,示例代码如下:
viewer.loadExtension('Autodesk.Markups.Core').then(markupsExtension => { // 监听标记创建完成 markupsExtension.addEventListener(markupsExtension.EVENT_MARKUP_CREATED, (event) => { console.log('新标记创建完成', event.markup); }); // 监听已有标记编辑完成 markupsExtension.addEventListener(markupsExtension.EVENT_MARKUP_UPDATED, (event) => { console.log('标记编辑完成', event.markup); }); });
备选方案(不推荐,存在版本更新失效风险)
如果必须使用EVENT_EDITMODE_CREATION_END事件,需要将监听器绑定到当前激活的编辑模式实例上:
const currentEditMode = markupsExtension.getEditMode(); currentEditMode.addEventListener('EVENT_EDITMODE_CREATION_END', () => { console.log('Test'); });
内容的提问来源于stack exchange,提问作者Will Song
相关产品推荐
相关产品推荐

