2014-03-28 60 views
1

我有以下工作在iOS的safari,但在iOS的鉻看起來似乎沒有工作。事實上瀏覽器會滾動,所以我不認爲e.preventDefault正在完成這項工作。鉻的iOS touchmove事件不起作用

canvas.addEventListener("touchmove", trackPositionTouch, true); 

function trackPositionTouch(e) { 
    e.preventDefault(); 
    mouse.x = e.targetTouches[0].pageX - canvas.offsetLeft; 
    mouse.y = e.targetTouches[0].pageY - canvas.offsetTop; 
} 
+0

使用觸摸[0],而不是targetTouches [0] – singhiskng

+0

@singhiskng只是去嘗試,它並沒有區別 – Tesla

+0

我有Chrome瀏覽器相同的問題。你能自己找到解決方案嗎? –

回答

0

檢查兩種事件類型是一個更好的主意。這是我在一個項目中做到的。我正在使用jQuery來選擇DOM元素。

var touch = e.originalEvent.touches[0] || e.originalEvent.targetTouches[0]; 

var parentOffset = $(this).parent().offset(); 

var relX = (touch.pageX - parentOffset.left); 
var relY = (touch.pageY - parentOffset.top);