没关系我意识到'JSON.stringify(evt)'不会打印出事件对象中的数据??????
原问题:
我有
var canvas = document.createElement('canvas');
canvas.addEventListener('touchmove', function(evt)
{
alert(JSON.stringify(evt));
},false);
当我看到警报时,“evt”为空。所以所有这些帖子,比如这个 iphone 的 safari touchmove 事件不起作用,说要获取“originalEvent”,并不适用于我,因为 evt 中根本没有任何东西可看。
如何让“evt”中包含触摸数据,以便我可以使用类似代码获取触摸位置
var touch = evt.changedTouches[0];
?
注意:下一行代码具有以下效果很好的鼠标事件
canvas.addEventListener('mousemove', function(evt)
{
alert(JSON.stringify(evt));
}, false);
数据就在那里,仅此而已
alert(JSON.stringify(evt));
显示为空白。不知道为什么 JSON.stringify 不适用于事件,但这是我带回家的信息
JSON.stringify()
docs 说:
仅访问可枚举的自有属性
然后你就有了
touchmove
事件,args 拥有只有一个属性:isTrusted
。所有其他道具都是从原型继承的,因此它们被该函数忽略。
在 JS 控制台中 在 Chrome 中,您可以辨别哪些道具是自己的 - 它们的名称以粗体显示。尝试一下
console.log(evt)
。
附注是的,它应该是已接受答案下的评论,但需要更多代表:(