1

我已经将 iScroll 实现到一个网页中,用于智能手机。我还没有在模拟器中尝试过这个,所以我不知道这是否只是一个 PC 问题。

滚动条包含一个 UL。每个 LI 都标有一个 onclick 事件处理程序:

$("li.myitem").click(showItemDetails);

...

function showItemDetails() ...

当我在使用 iScroll 之前实现这一点时,如果我在 LI 上单击一次,我会调用我的单击处理程序(这会打开另一个视图窗口)。使用 iScroll 后,我有两个不好的行为。

  • 滚动时,有时 iScroll 认为我想点击某些东西。也就是说,iScroll 的工作类似于“onmouseup”事件。
  • 当单击一个事件时,无论是否有意,iScroll 都会为单个事件所针对的那个位置生成 10、20 甚至 30 个事件(或事件线程)。我追踪了它,所有的事件都来自同一个 LI 项目。如果我将单击处理程序更改为双击处理程序 (dblclick()),这种情况同样严重。

马上,我就沦为放了一个看门人,一面旗帜上写着“我已经忙于一个活动,走开”。我还可以更改界面,让用户单击(选择)一个 LI,然后单击一个单独的按钮以查看详细信息。

但我担心 iScroll 在做什么。

有任何想法吗?需要看代码吗?我不能放整个应用程序(一千行长,在评论之后),但我可以展示不错的剪辑。但我希望这是一个“哦,是的”的时刻,有人告诉我一个已知的故事。

4

0 回答 0