2012-05-04 50 views
1

我有一些簡單的代碼來控制iPad上的滑塊控件。我遇到了一個問題,控制是瘋狂跳來跳去,我把它追溯到事實ev.originalEvent.touches有時undefined ...ipad:event.touches是隨機未定義的?

想知道是否有人有任何想法可能會發生在這裏。 jQuery的1.7.2,iOS5.1,iPad 3的,如果它的事項

$(document.body) 
    .on('mousemove touchmove', function(ev){ 
     // logs undefined about 10% of the time??? 
     console.log(ev.originalEvent.touches); 
    }); 

當然,我不能在簡單的精簡的情況下重新產生這一點,雖然這是一個正在運行的確切代碼:http://jsfiddle.net/vYKhh/4/

回答

1

看來,當您使用「touchmove」或「鼠標移動」事件的觸摸陣列是「ev.touches」,所以試試這個:

$(document.body) 
.on('mousemove touchmove', function(ev){ 
    // logs undefined about 10% of the time??? 
    console.log(ev.touches); 
}); 

但對於「鼠標按下」和「touchstart '它仍然是ev.originalEvent.touches。