以下代码应该在模糊最后一个之后聚焦第一个表单元素,但这不会发生:
<script>
$(document).ready(function(){
$("#last").blur(function(){
$("#first").focus();
});
});
</script>
<form>
<input type="text" name="first" id="first"><br><br>
<input type="text" name="last" id="last">
</form>
如果我在#last之后添加另一个表单元素,它正常工作,请参阅下面的
<script>
$(document).ready(function(){
$("#last").blur(function(){
$("#first").focus();
});
});
</script>
<form>
<input type="text" name="first" id="first"><br><br>
<input type="text" name="last" id="last">
<input type="text" name="dummy">
</form>
答案 0 :(得分:1)
这是一个针对您的修复程序,它正在运行here:
$(document).ready(function(){
$("#last").blur(function(){
$("#first").focus();
});
$("#last").keydown(function(e) {
if(e.keyCode == 9) {
$("#first").focus();
return false;
}
});
});
答案 1 :(得分:1)
正如@Deleteman在评论中所说:
如果我点击第二个字段,它对我有用,而不是如果我选中, 但我认为这是因为有了标签,它最终会跳进另一个标签 帧。
他是对的,我有一个解决方案。
这是安全的解决方案:
$(document).ready(function(){
$("#last").keydown(function(e){
if(e.keyCode==9)
{
e.preventDefault();
$("#first").focus();
}
});
$("#last").blur(function(e){
$("#first").focus();
});
});
答案 2 :(得分:-1)
thow this它工作正常可能你没有在你的代码中包含jquery