gpt4 book ai didi

javascript - 使用 .flushToDom 导出场景数据, "event attributes"数据出现问题

转载 作者:行者123 更新时间:2023-11-30 20:21:32 25 4
gpt4 key购买 nike

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

.flushToDom()

这是一个问题。他解析了一些属性的数据,比如字符串“[Object object]”

. enter image description here

好的。我有 var 存储场景的位置。我正在尝试手动更改事件数据:

 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');

但是,这并没有帮助。那么,我如何在不激活她的情况下设置事件的数据?

UPDATED after Piotr Adam Milewski comment

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

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);

最佳答案

代替

cursor.setAttribute('event-set__2','_event: mouseleave; color: black');

尝试

this.el.setAttribute("event-set__2", {
"_event": "mouseenter",
"material.color": "red"
})

应该是working

关于javascript - 使用 .flushToDom 导出场景数据, "event attributes"数据出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51404350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com