预先警告:我对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