当用户点击特定字段上的TAB
时,我希望焦点跳转到另一个特定字段(并选择那里的所有内容)。
我想避免使用tabindex。默认订单通常很好,我不会打扰他们手动管理它们。
我尝试了onblur
和onkeyup
事件,但所有事情都会导致扭曲的效果和错误。
例如,我尝试过:
<input id="field1" onblur="document.getElementById('anotherField').focus();" type="text">
这几乎似乎有效,但未选择目标字段中的文本。
然后我试了
<input id="field1" onblur="document.getElementById('anotherField').focus(); document.getElementById('anotherField').select();" type="text">
这几乎似乎有效,但是当进一步标记时,目标字段的文本将不会被取消选择。
答案 0 :(得分:2)
尝试使用
function myTab(event, targetId) {
if (event.keyCode == 9) {
event.preventDefault();
var target = document.getElementById(targetId);
target.focus();
target.select();
}
}
<table>
<tr>
<td><input type="text" id="field1" value="field1" onkeydown="myTab(event, 'field2');">
<td><input type="text" id="field3" value="field3" onkeydown="myTab(event, 'field4');">
</tr>
<tr>
<td><input type="text" id="field2" value="field2" onkeydown="myTab(event, 'field3');">
<td><input type="text" id="field4" value="field4" onkeydown="myTab(event, 'field1');">
</tr>
</table>
答案 1 :(得分:1)
请使用以下示例代码
<input type="text" name="t1" id="t1" placeholder="textbox1" onfocus="document.getElementById('t2').select()"/><br><br>
<input type="text" name="t2" id="t2" placeholder="textbox2" value="abc"/><br><br>
<input type="text" name="t2" id="t3" placeholder="textbox3"/><br><br>
&#13;