Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquerykeydown的问题_Jquery_Html_Css - Fatal编程技术网

jquerykeydown的问题

jquerykeydown的问题,jquery,html,css,Jquery,Html,Css,我面临这个简单jQuery代码的问题 我还附加了HTML结构 如果我单击id为“滚动窗格”的div上的任意位置,代码会将焦点设置为输入字段,但如果我单击屏幕中的任何其他位置,例如,div id“滚动窗格”上方的代码,则不会将焦点设置为输入字段。我做错了什么 <script language="javascript"> $(function() { $('.scroll-pane').jScrollPane(); $('#outerBody').keydown(func

我面临这个简单jQuery代码的问题

我还附加了HTML结构

如果我单击id为“滚动窗格”的div上的任意位置,代码会将焦点设置为输入字段,但如果我单击屏幕中的任何其他位置,例如,div id“滚动窗格”上方的代码,则不会将焦点设置为输入字段。我做错了什么

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

$(函数()
{
$('.scroll pane').jScrollPane();
$('#outerBody').keydown(函数(){
$('#serialCode').focus();
});
});

C A. B

试试
$('#serialCode')[0]


在jQuery对象上调用
focus
会触发与
focus
相关的事件。您需要在dom元素上调用焦点。

在文档上绑定焦点事件。

关闭标记(
),或者将“outerBody”类放在div上,或者:

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

$(函数()
{
$('.scroll pane').jScrollPane();
$(“#选项卡1,#选项卡2,#滚动窗格”).keydown(函数(){
$('#serialCode').focus();
});
});

为什么不将按键事件附加到整个文档窗口

$(document).keydown(function() {
  $("#serialCode").focus();
});​
这可能会起作用,或者帮助你解决问题

视图:

编辑:

试着不要使用
标签之类的东西。嗨,Stefan,我没有收到你的回复。你能再解释一下吗?嗨,Stefan,刚刚试过你的解决方案,对我不起作用。我的要求是,只要用户按下一个键,该键的值就应该显示在输入框中。keydown(函数(){$('#inputScanner').focus();});不。他的意思是$(document).keydown()。您可能仍然需要修改对focus的调用,如我在帖子中所示。尝试了这种方法,$(“#tab1,#tab2,#滚动窗格”)。按键(函数(){也不起作用,焦点只会指向输入字段,如果我在div中单击,则不会触发上下文的keydown问题,除非您关注的是可以将焦点指向该上下文的元素,我相信如果您向其中一个表中添加一个输入并按下一个键,它将带您进入串行代码输入