2011-12-27 40 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

相關問題