检测用户手势,如滑动

12

我正在使用PhoneGap来构建Android应用。

我想检测用户的手势,例如用户的滑动。是否有一个可以从JavaScript调用的事件?

谢谢!

2个回答

7
我使用一个叫做xuihomepage)的JavaScript框架,它具有类似于jQuery的API。
您可以将该框架与swipe插件配合使用,以便轻松获取手势事件。请参见该存储库下的swipe/目录以获取代码和示例(尤其是index.html下)。以下是简短的示例:
x$('body').swipe(function(e, data) {
    console.log('type:' + data.type + ' deltaX:' + data.deltaX + ' deltaY:' + data.deltaY + ' distance:' + data.distance + ' delay:' + data.delay+' direction:' + data.direction  );
});

谢谢,伙计。这正是我在寻找的!抱歉有些贪心...但是否也可能包括检测自定义手势?例如当用户画一个“C”或“S”时?谢谢! - Dayzza
很遗憾,使用这个插件是不行的。你需要编辑它。简单浏览了一下代码,看起来滑动插件会跟踪开始和结束坐标。对于更复杂的手势,你需要改变代码以在手势期间跟踪多个“点”(例如,使用短时间间隔超时),然后比较各个点的坐标,在touchend事件触发后得出更有意义的手势结论。希望这能帮到你。 - fil maj
好的,谢谢:D 我会详细查看代码的... 你有没有想法,我是否可以仅在某个区域跟踪手势?例如在屏幕顶部..意思是我将屏幕分成两半。:D - Dayzza
还有另一个名为jGestures的库,专门用于自定义手势 - 您可以定义形状,它会告诉您用户何时执行类似于其中一个形状的操作。请参见此处:http://stanford.wikia.com/wiki/CS349W_Project3_jGestures - mmaclaurin

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接