我正在尝试将触摸事件对象编码为JSON以通过websockets发送它,出现错误说:
未捕获的TypeError:将循环结构转换为JSON
如果对象的属性是对象本身,则会发生错误。那么,通过websockets发送多点触摸事件的方式是什么?
document.addEventListener('touchmove', function(event) {
console.log(event);
event = JSON.stringify(event.touches); // Error!
connection.send(event);
}, false);
答案 0 :(得分:0)
您正在尝试对多个Touch对象进行字符串化。这些对象包含对触摸开始的元素的引用。 HTMLElements通常有循环引用。
在将元素发送到服务器之前,应该从触摸对象中删除该元素。你可能想在之前克隆它。
delete touchObject["target"];