1

ユーザーが Web アプリケーションと対話する方法に関する統計を収集するために、特定の JQuery UI スライダーをどのように使用しているかを知りたいです。具体的には、スライダーの操作にマウスとキーボード (矢印キー) のどちらを使用したかを知りたいです。

私のコードは次のとおりです。

$test.slider({range: "min", step: 0.1, slide: updatePosition, stop: slideEnd, start: slideStart});

slideStart関数内でslideEnd、矢印キーが押されたか、マウスが使用されたかをどのように検出しますか? プラグインのソースを変更する必要がありますか? それは私が避けたいことです。

クリック/キープレスの $test に別のハンドラーを追加するのが最善の策でしょうか?

4

2 に答える 2

2

slidechangeイベントリスナーをand/orイベントにバインドできslideます。最初のパラメーターは、originalEvent. そのtype属性には、探しているものが含まれています。

$test.bind('slide slidechange', function(event, ui) {
    if (event.originalEvent) {
        console.info(event.originalEvent.type);
    }
});

注意!はoriginalEvent、イベントがユーザー インタラクションによってトリガーされた場合にのみ存在します。

于 2012-11-06T20:38:26.257 に答える
0

私は最もきれいに見える方法を見つけました。私はちょうど追加しました:

$test.keyup(slideKey);

$test は私のスライダー div です。Chrome で矢印キーをキャッチするのkeyup()ではなく、使用する必要がありました。keypress()

slideKey 関数では、渡されたイベント オブジェクトを使用するだけです。

function slideKey(e)
{
    console.log(e.keycode);
}
于 2012-11-06T20:20:43.043 に答える