如果我使用以下方法捕获了来自移动设备的所有touchend事件:
$(document.body).bind('touchend', function (e) {
var touch = e.touches[0]; // doesnt work
...
我需要从e参数获取touch.screenX,touch.screenY,touch.clientX和touch.clientX。我看过的所有示例都建议e.touches将是一个集合,您可以使用
e.touches[0]
来获取触摸细节。在ipad上的测试中,e.touches
始终未定义。我没有使用任何jquery插件。还尝试了e.targetTouches,它也是未定义的。
有人可以帮忙吗?
最佳答案
实际上,释放的触摸将在changedTouches数组中找到,即:e.changedTouches[0].pageX // get the end x page coordinate for a released touch
我认为这比通过originalEvent属性稍微可靠。
您可以在此处阅读有关changedTouches的更多信息:
http://www.w3.org/TR/touch-events/#changedtouches-of-a-touchevent