預先警告:我對js很陌生,主要通過搜索網絡搜索示例/教程來獲得。javascript等效於'mouseleave'的觸摸互動
我寫的js應該可以在網絡和移動設備上運行(例如iPad)。
我們有一個庫,幫助抽象掉mouse
和touch
之間的差異:
if (navigator.userAgent.search('Mobile') > 0) {
window.FLAGS = {
start: 'touchstart',
end: 'touchend',
move: 'touchmove',
click: 'click',
touchScreen: true
};
} else {
window.FLAGS = {
start: 'mousedown',
end: 'mouseup',
move: 'mousemove',
click: 'click',
touchScreen: false
};
}
然後在代碼中,你可以做這樣的事情:
widget.view.bind(FLAGS.start, function(e) {
我試圖找到相當於一個touch
爲mouseleave
,所以我可以做一個類似的伎倆。
我能想象的方式通過跟蹤move
位置和比較,爲邊界問題widget的盒子搭上leave
事件,但我希望有一個小的一行像touchstart
/mousedown
關係。
謝謝。我認爲關於「未實現」的一點是我需要聽到的,我倍加讚賞解決方法的示例代碼。 – 2011-04-21 21:46:21
你的帖子已經過時了,但是 - 不應該是touchmove事件的「更換手機」嗎?至少在iPad上觸摸數組是undefined onTouchMove - 比較http://stackoverflow.com/a/7236327/818732 – 2012-07-14 11:51:01