我有一些文本输入。如果我从 #input1 跳,我想跳过 #input2 并转到下一步。
<div class="form-group required">
<label for="input1" class="control-label col-sm-4">Input 1</label>
<div class="col-sm-5">
<input type="text" name="input1" class="form-control" id="input1" tabindex="3">
</div>
</div>
<div class="form-group">
<label for="input2" class="control-label col-sm-4">Input 2</label>
<div class="col-sm-5">
<input type="text" name="input2" id="input2" class="form-control" tabindex="4">
</div>
</div>
<!-- This field isn't always visible and is dependent on a select list option -->
<div class="form-group required" style="display:none">
<label for="input3" class="control-label col-sm-4">Input 3</label>
<div class="col-sm-5">
<input type="text" name="input3" class="form-control" id="input3" tabindex="5">
</div>
</div>
<!-- -->
<div class="form-group">
<label for="withdrawal_amount" class="control-label col-sm-4">Label</label>
<div class="col-sm-5">
<input type="text" name="label" class="form-control" id="label" tabindex="5">
</div>
</div>
我的目标是将焦点定位到 #label 但如果 #input3 可见,我需要定位它。
$('#withdrawal_amount').focusout(function() {
$(window).keyup(function (e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 9) {
$(this).next(':input').not('#input2').focus();
// $('#label').focus();
}
});
});
我想过看到 #input3 是可见的,并把焦点放在上面。最好的方法是什么?
这不是重复的。
我想允许焦点到输入#2,但我不希望 Tab 键聚焦到字段
使用键下而不是键 https://jsfiddle.net/09tchwx9/4/
$(':text').keydown(function(e){
var key = e.keyCode || e.which,
ind = $(':text').index(this),
skip=$(':text').eq(ind+1)
if(key==9 && skip.hasClass('skip')){
e.preventDefault();
$(':text:not(.skip)').filter(function(i){return i> ind}).eq(0).focus();
}
});