我有几个输入文本字段都是独立的,但我希望当你开始输入1时会有所集中。
我想我必须使用jquery .bind()
这样做,但我不确定:
$(document).bind('keydown',function(e){
$('#defaultInput').focus();
$(document).unbind('keydown');
});
你可以继续这样做。我现在的代码只允许我执行此操作一次,而不检查我是否在另一个框中输入。
有没有办法用jquery来实现这个目标?
答案 0 :(得分:1)
如果您的页面上有以下3个输入字段:
<input type="text" id="t1" />
<input type="text" id="t2" />
<input type="text" id="t3" />
使用以下JS,如果焦点不在t1或t3或页面上的任何其他输入元素上,它将仅聚焦第二个。
$(document).bind('keydown',function(e){
if ($(':focus:not("input")').length){
$('#t2').focus();
}
});
答案 1 :(得分:0)
$(document).one('onkeydown',function(e){
$(':input:first').focus();
});
使用jQuery .one()
仅在页面上绑定一次(这使得它比绑定/解除绑定更方便)。然后,如果你想抓住keyChar
并将其推入现场,那么它就取决于你,这样他们就不会“失去”第一次击键。