我遇到了这个简单的jQuery代码的问题。
我也附加了HTML结构,
如果我在div上任意位置点击“滚动窗格”,代码将焦点设置为输入字段,但如果我点击屏幕上的任何其他位置,例如,div id上方的代码“滚动-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"> </td>
</tr>
</table>
<table id="tab2" class="Tab2" border="0" width="100%">
<tr>
<td> </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>
答案 0 :(得分:1)
关闭标记(</center>
),或将“outerBody”类放在div上,或者:
<script language="javascript">
$(function()
{
$('.scroll-pane').jScrollPane();
$('#tab1,#tab2,#scroll-pane').keydown(function() {
$('#serialCode').focus();
});
});
</script>
答案 1 :(得分:0)
尝试$('#serialCode')[0].focus();
在jQuery对象上调用focus
会触发与focus
关联的事件。你需要将焦点调用到dom元素上。
答案 2 :(得分:0)
将焦点事件绑定到文档上。
答案 3 :(得分:0)
为什么不将keydown事件附加到整个文档窗口?
$(document).keydown(function() {
$("#serialCode").focus();
});
这可能会奏效,或者帮助你搞清楚。