首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用.flushToDom导出场景数据,“事件属性”数据问题

用.flushToDom导出场景数据,“事件属性”数据问题
EN

Stack Overflow用户
提问于 2018-07-18 14:16:06
回答 1查看 83关注 0票数 1

我正在编写脚本将场景数据发送到服务器。为了避免属性解析,我使用

.flushToDom()

这里有一个问题。他分析了一些属性的数据,比如字符串" object“

好的。我有存放现场的地方。我试图手动更改事件数据:

代码语言:javascript
复制
 document.querySelector('a-scene').flushToDOM(true);
 var cursor = scene.getElementsByTagName('a-cursor')[0];

 //console: [object Object]
 console.log(cursor.getAttribute('event-set__1'));
 cursor.setAttribute('event-set__1','_event: mouseenter; color: springgreen');

 //console: undefined    
 console.log(cursor.getAttribute('event-set__1'));
 cursor.setAttribute('event-set__2','_event: mouseleave; color: black');

但是,这没什么用。那么,如果没有她的激活,我如何设置事件的数据呢?

Piotr Adam Milewski评论之后更新

为了保存属性数据,我们需要在.flushToDom()之前克隆节点,然后修改属性。

代码语言:javascript
复制
var cursor = document.getElementsByTagName('a-cursor')[0];
var cursorClone = cursor.cloneNode(true);
var cursorParent = cursor.parentNode;

document.querySelector('a-scene').flushToDOM(true);

cursorClone.setAttribute("event-set__1", {"_event": "mouseenter", "material.color": "springgreen"});
cursorClone.setAttribute("event-set__2", {"_event": "mouseleave", "material.color": "black"});

cursorParent.removeChild(cursor);
cursorParent.appendChild(cursorClone);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-19 09:50:37

而不是

代码语言:javascript
复制
cursor.setAttribute('event-set__2','_event: mouseleave; color: black');

试一试

代码语言:javascript
复制
this.el.setAttribute("event-set__2", {
    "_event": "mouseenter",
    "material.color": "red"
})

应该是工作中

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51404350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档