javascript - 通过 Websockets 发送多点触控事件

标签 javascript json node.js websocket

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

未捕获的类型错误:将循环结构转换为 JSON

当你有一个对象的属性直接是对象本身时,就会发生错误。那么,通过 websockets 发送多点触摸事件的方式是什么?

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

http://jsfiddle.net/PAVtk/

最佳答案

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

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

delete touchObject["target"];

关于javascript - 通过 Websockets 发送多点触控事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16637094/

相关文章:

javascript - 如何从 Javascript 调用 ASP.Net 页面上的静态方法?

javascript - 如何使用条件编译嗅探IE8

javascript - 通过 JSON/AJAX 更新 HTML

javascript - JSON 语法错误 : 'unexpected number' or 'JSON.parse: expected ' ,' or ' }' after property value in object'

node.js - req.session undefined with Redis/Express

javascript - 使用 jQuery 将页面滚动到具有特定 href 的 <a>

javascript - 组合优于继承,什么是在不求助于继承的情况下向 View 添加附加功能的更好方法

php - Json 字符串到 js 数组

javascript - Socket.io 和 Async 不返回值

node.js - SELECT ALL 的 CouchDB 版本,其中 field1=value1 且 field2=value2