2011-12-27 79 views
2

下面的代码模糊了最后一个后应注重第一成形件,但这是不会发生:jQuery的焦点后的模糊()最后一个表单字段

<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> 
+2

如果我点击了第二场的,要是我选项卡,但我认为这是因为它为我的作品它会跳到另一个框架中... http://jsfiddle.net/bUt9M/ – Deleteman 2011-12-27 12:13:05

+0

你是对的,我正在使用标签页,但是这会模糊输入字段,所以它应该工作? – JorisW 2011-12-27 12:24:10

+0

我添加了一个解决你的标签问题的答案,让我知道如果这适用于亚;) – Deleteman 2011-12-27 12:25:19

回答

1

这是给你一个解决方法,它的工作here

$(document).ready(function(){ 
    $("#last").blur(function(){ 
    $("#first").focus(); 
    }); 
    $("#last").keydown(function(e) { 
     if(e.keyCode == 9) { 
      $("#first").focus(); 
      return false; 
     } 
    }); 
}); 
+1

'e.preventDefault();'为所有键? – Usman 2011-12-27 12:28:03

+0

你是对的,修复:)谢谢 – Deleteman 2011-12-27 12:30:41

+1

你的修复工作在FF但不是在铬 – JorisW 2011-12-27 12:30:41

-1

thow this它做工精细,也许你不包括jQuery的代码中的

+0

他是,他说,如果他添加另一个元素,它工作正常... – Deleteman 2011-12-27 12:18:27

+0

雅,但问题给他只有两个元素,但它工作正常 – Dau 2011-12-27 12:21:19

+0

你能告诉我,代码中有什么问题和答案,为什么你认为它像一个投票 – Dau 2011-12-27 12:24:47

1

由于@Deleteman在评论说:

它的工作对我来说,如果我点击了第二场的,要是我标签拖出, 但我认为这是因为标签,它最终跳到另一个 框架。

他是对的,我有一个解决方案给你。

这里是安全的解决方案:

$(document).ready(function(){ 
    $("#last").keydown(function(e){ 
     if(e.keyCode==9) 
     { 
      e.preventDefault(); 
      $("#first").focus(); 
     } 
    }); 
    $("#last").blur(function(e){ 
    $("#first").focus(); 
    }); 
}); 

演示:http://jsfiddle.net/uGudk/

+0

完美,谢谢 – JorisW 2011-12-27 12:34:59

相关问题