我有一个功能,只要用户按下回车键就会改变焦点。此功能在大多数页面上都很有效,但现在我有一个包含1个选择和2个滑块的页面(jqueryui)。按Enter键时,焦点不会变为滑块。 console.log语句向我显示我的select返回正确的元素数组:
0: select#field_odometerunitsselect
1: div#field_fuelquantityrangeslider.ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all
2: div#field_fueldistancerangeslider.ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all
我的javascript正确地更改为数组中的下一个元素(在本例中为1):
$('#'+inputs.eq(nextinput).id).focus().select();
有人能告诉我为什么上面一行不会将焦点改为滑块吗?
为了进一步分析,我尝试用这一行手动设置焦点
$('#field_fuelquantityrangeslider').focus();
它也失败了。所以这不是代码问题,它是一个滑块的东西。如何将焦点设置为滑块?
答案 0 :(得分:2)
您需要定位滑块手柄(请参阅https://stackoverflow.com/a/13692745/786999):
$('#field_fuelquantityrangeslider .ui-slider-handle').focus();