移动设备的X/Y触摸坐标

4
我正在创建一个网络应用程序,希望其可在移动设备上使用。该应用程序的初始机制需要获取鼠标的当前X/Y坐标 - 这不需要点击和拖动,只需简单地在浏览器窗口中移动鼠标即可。
现在,我一直在寻找与Touch和Gestures相关的各种jQuery / JavaScript库,但我找不到适合我所需的任何东西。
因此,我基本上正在寻找一种获取单个手指触摸/拖动的x/y位置的方法。
例如:在0,0处触摸屏幕,然后按住并将其拖动到480,320。 然后,这些值将在x1,y1到x2,y2之间插值。
谢谢。
2个回答

10
$(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);
});

4
你不需要使用库来完成此操作,使用touchstart、touchmove和touchend事件编写自己的代码相当容易。
顺便提一下,如果你正在使用iOS模拟器测试,请注意它有时会以实际设备不会出现的方式提供不正确的坐标,因此你需要随时保持有一台物理的iOS设备来验证你的代码是否有效。
参考链接:http://www.sitepen.com/blog/2008/07/10/touching-and-gesturing-on-the-iphone/

2
+1 但也应包括官方的苹果文档:http://developer.apple.com/library/safari/#documentation/appleapplications/reference/safariwebcontent/HandlingEvents/HandlingEvents.html。另外,写一个小事件记录器来查看哪些手势触发了哪些事件以及顺序是好的开端。 - RobG
谢谢提供链接。我也找到了这个:http://matt.might.net/articles/how-to-native-iphone-ipad-apps-in-javascript/ - user553149

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接