如何捕捉点击但不在Android中使用Javascript滚动?

时间:2010-11-09 20:10:53

标签: javascript android javascript-events touch-event

我正在制作一个Javascript网络应用程序而且我无法为我的生活获取touchstart事件。我发现touchmovetouchend事件没问题。这是一个问题,因为我认为区分点击和滚动动作的最佳方法是将touchstart事件上的计数器归零,在touchmove更新它,然后在{{ 1}}。我这样做,所以我可以在点击结束时做一些动作但不是滚动。例如,如果在完成向下滚动列表后为列出的项目打开页面会非常混乱,但是能够点击某个项目打开其页面会很好。

这就是我所拥有的:

touchend

我从未看到// FIXME: this doesn't seem to ever fire el.addEventListener('touchstart', function(e) { // make sure that at the start of every touch we're not considered to be moving alert("Touch starting"); app.__touchMoving = 0; }, false); el.addEventListener('touchmove', function(e) { app.__touchMoving++; }, false); el.addEventListener('touchend', function(e) { alert("Touch ended. We moved beforehand this many times: " + app.__touchMoving); // if we are moving if (app.__touchMoving > 0) { // stop, since we're dragging, not tapping return false; } // else we're no longer moving, so it was a tap } 警报。如果我滚动touchstart将触发,app__touchMoving将具有某种不错的价值。在旁注中,我注意到有时候touchend似乎会多次触发。

我错过了一些基本的东西吗?很多人都说这应该可以在Android(和iPhone)上运行得很好,但第一个听众似乎永远不会解雇。

更新:我应该提一下,我一直在测试运行Android 2.1的三星Galaxy S.

1 个答案:

答案 0 :(得分:0)

我不知道你是否可以使用它:iScroll