2010-09-21 83 views
0

我正面臨着這個簡單的jQuery代碼的問題。jQuery的問題keydown

我重視的HTML結構,以及,

的代碼將焦點設置輸入字段的罰款,如果我做一個點擊ID爲股利的任何地方「上滾動窗格」,但如果我點擊其他地方在屏幕上,例如,在div id「scroll-pane」之上的代碼,它不會帶來焦點。我在這裏做錯了什麼?

<script language="javascript"> 
$(function() 
{ 
    $('.scroll-pane').jScrollPane(); 
    $('#outerBody').keydown(function() { 
     $('#serialCode').focus();  
    }); 
}); 
</script> 

<center id="outerbody"> 
<table id="tab1" class="Tab1" width="100%"> 
<tr> 
    <td width="60"></td> 
    <td width="113"><p align="center">C</td> 
    <td width="105">&nbsp;</td> 
</tr> 
</table> 

<table id="tab2" class="Tab2" border="0" width="100%"> 
<tr> 
    <td>&nbsp;</td> 
    <td>A </td> 
    <td>B </td> 
    <td><input type="text" id="serialCode" class="serialCode" /></td> 
</tr> 
</table> 

<div id="scroll-pane" class="scroll-pane"> 

</div> 

+1

儘量不要使用''

標籤等。 – 2010-09-21 18:19:24

+0

缺少''? – sje397 2010-09-21 18:23:32

回答

0

爲什麼不keydown事件附加到整個文檔窗口?

$(document).keydown(function() { 
    $("#serialCode").focus(); 
});​ 

這可能會工作,或幫助你弄清楚。

觀點:http://jsbin.com/iwuwa4
編輯:http://jsbin.com/iwuwa4/edit

+0

嗨桑德羅,完美的工作,謝謝:) – t0mcat 2010-09-21 18:44:09

0

嘗試$('#serialCode')[0].focus();

調用與focus相關的jQuery對象觸發事件focus。你需要關注dom元素。

+0

嗨Stefan,我沒有得到你的回覆。你能再解釋一次嗎? – t0mcat 2010-09-21 18:21:29

+0

嗨Stefan,剛試過你的解決方案,它沒有爲我工作。我的要求是,只要用戶按下某個鍵,該鍵值應顯示在輸入框中。 – t0mcat 2010-09-21 18:22:47

0

將焦點事件綁定到文檔上。

+0

嗨Praveen,這樣的事情? $ .keydown(function(){ $('#inputScanner')。focus(); }); – t0mcat 2010-09-21 18:33:45

+0

Nah。他的意思是$(document).keydown()。您可能仍然需要修改您的電話,以便在我的帖子中顯示。 – 2010-09-21 18:44:14

1

要麼關閉標籤(</center>),或把「外部管」級上的一個div或者:

<script language="javascript"> 
$(function() 
{ 
    $('.scroll-pane').jScrollPane(); 
    $('#tab1,#tab2,#scroll-pane').keydown(function() { 
     $('#serialCode').focus();  
    }); 
}); 
</script> 
+0

嗨Nico,用DIV替換中心,仍然沒有工作 – t0mcat 2010-09-21 18:35:36

+0

試過這種方法,$('#tab1,#tab2,#scroll-pane')。keydown(function(){ Didnt work,either focus to only input如果我點擊DIV內部 – t0mcat 2010-09-21 18:37:23

+0

你的問題是keydown不會觸發一個上下文,除非你關注的是一個可以關注該上下文的元素,我相信如果你將一個輸入添加到一個表中並按下它的一個鍵,它會帶你到串行代碼輸入 – bevacqua 2010-09-21 18:42:54