为什么用户必须单击两次才能为JQuery UI Slider启用键盘控制

时间:2012-12-14 17:11:52

标签: javascript jquery jquery-ui

我在这里实现了一个自定义滑块:http://jsfiddle.net/4wZ8d/

它的工作方式是最初隐藏滑块手柄,当用户点击滑块上的任何位置时,手柄出现,使用:

$("a.ui-slider-handle").hide();
$("a.ui-slider-handle").show();

但是,用户必须先在滑块上点击两次才能使用键盘(即leftright键)移动手柄。

有人知道造成这种行为的原因吗?

2 个答案:

答案 0 :(得分:1)

尝试添加:

$("a.ui-slider-handle").focus();

$("a.ui-slider-handle").show();

也许你只需要元素来获得焦点。

答案 1 :(得分:1)

如果滑块具有焦点,则只能使用箭头键移动滑块。简单补充:

$("a.ui-slider-handle").show().focus();

请注意,如果滑块失去焦点,箭头键将再次被禁用。如果您希望他们做出响应,您必须将.keypress或类似内容绑定到document,但这可能不是最好的主意。