0

私のページには 1 つのスライダーがあり、キーボードを使用してハンドルを左右に動かすことがよくあります。ただし、ハンドルが選択されていないと、キーを押してもスライドしません。ハンドルのクリックをシミュレートしてみましたが、選択されていないようです。

$handle = $slider.find('.ui-slider-handle');
$handle.click();

最初にハンドルを選択せず​​に、キーボードでハンドルを左右に動かすにはどうすればよいですか?

4

1 に答える 1

1

適切なキーが押されたときに、keyupおよびイベントをハンドルに渡します。keydownこれは、ハンドルがまだ選択されていない場合にのみ行ってください。

$handle = $slider.find('.ui-slider-handle')
$(document).on('keyup keydown', function(e) {
  if ( $handle.hasClass('ui-state-focus') ) return;

  if (e.which === 37 || e.which === 39) {
    e.target = $handle.get(0);
    $handle.triggerHandler(e);
  }
});
  • 37は左キー
  • 39は右のキーです
于 2013-10-03T21:38:06.720 に答える