2

我正在尝试将触摸事件对象编码为 JSON 以通过 websockets 发送它,出现错误消息:

未捕获的 TypeError:将循环结构转换为 JSON

当您拥有直接是对象本身的对象属性时会发生错误。那么,通过 websocket 发送多点触控事件的方法是什么?

document.addEventListener('touchmove', function(event) {
  console.log(event);
  event = JSON.stringify(event.touches); // Error!
  connection.send(event);
}, false);

http://jsfiddle.net/PAVtk/

4

1 回答 1

0

您正在尝试对多个Touch对象进行字符串化。这些对象包含对触摸开始的元素的引用。HTMLElements 通常有循环引用。

在将元素发送到服务器之前,您应该从触摸对象中删除元素。您可能需要先克隆它。

delete touchObject["target"];
于 2013-05-19T23:01:01.257 回答