我有一个HTML选择列表,如下所示:
<div class="somebox" id="somebox">
<select name="myoptions" id="myoptions">
<option value="1">Some Text 1 </option>
<option value="2">Some Text 2 </option>
<option value="3">Some Text 3</option>
<option value="4">Some Text 4 </option>
</select>
<input type="text" name="somename1" id="somename1">
<input type="text" name="somename2" id="somename2">
</div>
并且有一些JavaScript代码,它将焦点转移到#myoptions更改的下一个元素。
$("#somebox").on("change", "#myoptions", function(){
$("#somename1").focus()
});
问题是:
- 如果用户只需单击select
列表,检查列表中的其他选项但不更改选项,如何将焦点移动到下一个元素?
(在这种情况下,焦点位于同一select
,因为用户不会更改值)
以下是JSFiddle已创建的内容。
注意 - 在我们的代码中tab
键被禁用,因此用户很难将焦点移动到下一个元素。
答案 0 :(得分:1)
这是你想要的吗?
var cc = 0;
$('#somebox').click(function () {
cc++;
if (cc == 2) {
$(this).change();
cc = 0;
}
}).change(function () {
$("#somename1").focus();
cc = -1;
});
我发现有一个类似的线程在谈论这个: useful example