我想在javascript中获取ipad上触摸事件的坐标。我该怎么做?
答案 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坐标。