获取Ipad touchstart坐标

时间:2011-06-03 15:01:24

标签: javascript ipad web-applications touch coordinates

我想在javascript中获取ipad上触摸事件的坐标。我该怎么做?

4 个答案:

答案 0 :(得分:6)

我认为应该这样做:

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>

答案 1 :(得分:3)

尝试使用:

x = event.originalEvent.pageX;
y = event.originalEvent.pageY;

答案 2 :(得分:0)

这是一个老问题,但没有可接受的答案,我的iPad解决方案如下:

var x = event.originalEvent.touches[0].clientX;
var y = event.originalEvent.touches[0].clientY;

答案 3 :(得分:-1)

试试这个js小提琴..适用于所有主流浏览器和所有触摸设备。 在这段代码中,我将提供如何找到touchstart坐标。

http://jsfiddle.net/vecny/