Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用.flushToDom导出场景数据时出现问题;事件属性“;数据_Javascript_Aframe - Fatal编程技术网

Javascript 使用.flushToDom导出场景数据时出现问题;事件属性“;数据

Javascript 使用.flushToDom导出场景数据时出现问题;事件属性“;数据,javascript,aframe,Javascript,Aframe,我正在编写将场景数据发送到服务器的脚本。 为了避免属性解析,我使用 .flushToDom() 这里有一个问题。 他将某些属性的数据解析为字符串“[Object]” 。 嗯。我有一个存储在场景中的var。我正在尝试手动更改事件数据: document.querySelector('a-scene').flushToDOM(true); var cursor = scene.getElementsByTagName('a-cursor')[0]; //console: [object O

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

.flushToDom()

这里有一个问题。 他将某些属性的数据解析为字符串“[Object]”

嗯。我有一个存储在场景中的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');
但是,这没有帮助。那么,如果没有她的激活,我如何设置事件的数据

在Piotr Adam Milewski发表评论后更新

要保存属性数据,我们需要在.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"
})