JQuery UI を使用して構築されたスライダー機能があります。次のように動作することになっています。
スライダーは 20 回アクティブ化/非アクティブ化されます。各ターンは 5 秒間で、最初の 2 秒間はスライダーが無効になり、スライダー ハンドルは非表示になります。その後、ユーザーはマウスを使用してスライダーの任意の場所をクリックし、ハンドルを配置して値を選択できます。クリック後、左右の矢印キーを使用してハンドルを調整することもできます。5 秒が経過すると、次の 3 つのことが起こります。1. スライダーが無効になります。2. ハンドルが最小値にリセットされます。3. ハンドルが隠されています。その後、次のターンが再開するまでに 1 秒のタイムアウトがあります。
実際の例は次のとおりです: http://jsfiddle.net/e2rym/
私は 2 つの問題に気付きました。どちらも同じ条件下で発生します。ユーザーはマウスとキーボードの両方を使用して、5 秒間の終了時にスライドのハンドル位置を調整します。これをシミュレートするには、各ターンの終わりに左右のキーを同時に押しながら、スライドを連続してすばやくクリックします。
これを行うと、次の 2 つのいずれかが発生します (毎回ではありませんが、数回試行すると確実に再現可能になります)。
ハンドルは、最小にリセットされて非表示になるのではなく、最後にクリックした位置で動かなくなります。キーを連続して十分速くクリックまたは移動すると、リセット アクション (つまり、スライダーの無効化、ハンドルの移動と非表示) が発生した後
change
にイベントが発生するようです。さらに悪いことに、スライダーが無効になり、ハンドルが非表示になることがありますが、次の 5 秒間は、スライド上で何を行っても(マウスをクリックするか、左右のキーを押すなど)、イベントが発生しませ
change
ん。ハンドルをまったく配置しません。したがって、スライダーはその後のすべての期間でまったく使用できなくなります。change
これは、リセット アクションが発生したときに、同時に 2 つのイベント (マウスのクリックによるものと左右のキーの押下によるもの) が発生する可能性に関連していると思います。
これらの問題が発生する理由と、それらを修正する方法を教えていただければ幸いです。
PS JQuery UI と JQuery の複数のバージョンを試しましたが、問題は解決しません。