获取Ipad触摸启动坐标



我想用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;

最新更新