4

我在 github 站点上或在谷歌搜索如何检测 Zynga Scroller 的点击事件时找不到任何示例。

例如,从Pull-to-refresh演示开始,它包含以下代码:

if ('ontouchstart' in window) {
    container.addEventListener("touchstart", function(e) {
        scroller.doTouchStart(e.touches, e.timeStamp);
        e.preventDefault(); // Problem !!! 
}, false);

由于我们一直在阻止默认设置,因此我永远无法单击可滚动列表中的一行。如果我删除该行,我可以单击但滚动不起作用。

有没有其他方法来检测点击?

(在计算机上它可以工作,但不能在具有 ontouchstart 事件的智能手机上,(iPhone 4s))

4

2 回答 2

1

这是因为 scrollerObject 会阻止用户操作,具体取决于您在 EazyScroller.js 上使用的 Zynga 滚动插件,搜索此代码that.scroller.doTouchStart(e.touches, e.timeStamp)并删除下一行的e.preventDefault() :

that.scroller.doTouchStart(e.touches, e.timeStamp);
//e.preventDefault();

于 2013-04-28T00:19:04.333 回答
1

检查 阻止e.preventDefault();touchstart

评论它并添加e.preventDefault();touchmove函数的末尾。

这对我有用。

于 2013-08-28T09:47:39.920 回答