我希望您能在 JavaScript 中获得 iPad 上的触摸事件坐标。我该如何做到这一点?
var x = event.targetTouches[0].pageX,
y = event.targetTouches[0].pageY;
<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<title>Touch event test</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
</head>
<body>
<script>
$(function() {
var $log = $("#log");
function updateLog(x, y) {
$log.html('X: '+x+'; Y: '+y);
}
document.addEventListener('touchstart', function(e) {
updateLog(e.changedTouches[0].pageX, e.changedTouches[0].pageY);
}, false);
document.addEventListener('touchmove', function(e) {
e.preventDefault();
updateLog(e.targetTouches[0].pageX, e.targetTouches[0].pageY);
}, false);
});
</script>
<div id="log"></div>
</body>
</html>
x = event.originalEvent.pageX;
y = event.originalEvent.pageY;
这是一个老问题,但是没有被接受的答案,我的解决方案适用于iPad的情况如下:
var x = event.originalEvent.touches[0].clientX;
var y = event.originalEvent.touches[0].clientY;
alert(event.changedTouches[0].pageX);
- Mason