1

iScroll をスマートフォン向けの Web ページに実装しました。エミュレータでこれをまだ試していないので、これが単なる PC の問題かどうかはわかりません。

スクローラーには UL が含まれています。各 LI は onclick イベント ハンドラーでマークされます。

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

...

function showItemDetails() ...

iScroll を使用する前にこれを実装した場合、LI で 1 回クリックすると、クリック ハンドラが 1 回呼び出されます (別のビュー ウィンドウが開きます)。iScroll を使用した後、2 つの悪い動作があります。

  • スクロールしているときに、iScroll が何かをクリックしたいと思うことがあります。つまり、iScroll は「onmouseup」イベントのように機能しています。
  • イベントをクリックすると、意図的かどうかにかかわらず、iScroll は、1 つのイベントが意図されている 1 つの場所に対して 10、20、さらには 30 のイベント (またはイベント スレッド) を生成します。トレースしたところ、すべてのイベントが同じ LI アイテムから発生しています。これは、クリック ハンドラーをダブルクリック ハンドラー (dblclick()) に変更した場合と同様に発生します。

すぐに、ゲートキーパー、「私はすでにイベントで忙しいので、立ち去ってください」というフラグを立てます。ユーザーが LI をクリック (選択) し、別のボタンをクリックして詳細を表示するようにインターフェイスを変更することもできます。

しかし、iScroll が何をしているのかが気になります。

何か案は?コードを見る必要がありますか? アプリ全体 (コメントの後に 1000 行の長さ) を載せることはできませんが、適切な切り取り部分を示すことはできます。しかし、これが「ああ、ええ」瞬間であり、誰かが私に既知の話を教えてくれることを願っています.

4

0 に答える 0