当键入某个字符时,使用jQuery将光标移动到另一个字段?
我的网页上有两个文本字段。 用户应该输入两个用连字符(“ – ”)字符分隔的数字。 数字可以是1到10位数。 当用户按下连字键时,我需要光标移动到下一个字段。
我可以使用$('#txtField2').focus()
轻松移动光标。 但是,我仍然遇到连字符仍然在第一个文本字段中的问题。 如何轻松地抑制连字符出现在第一个文本字段中?
HTML
JavaScript的
$('.num:first').keydown(function (event) { // check for hyphen if (event.which === 189) { event.preventDefault(); $(this).next('.num').focus(); } });
现场演示
假设一个简化的html:
以下应该起作用,或作为一个例子:
$('#numOne').keypress( function(e){ if (e.which == 45) { $(this).next('input:text').focus(); return false; // prevents the '-' being entered. } });
JS小提琴
顺便说一句,我使用$(this).next('input:text')
而不是基于id的选择器来允许更一般的应用和重用。
参考文献:
-
keypress()
, -
next()
。
我这样做:
$('#input1').keypress(function(e) { if(e.keyCode == 45) { e.preventDefault(); $('#input2').focus(); } });
看这里的实例: http : //jsfiddle.net/wjNP3/2/
你可以“聆听”那个角色,只关注另一个角色并阻止它输入