如何自动按 “Tab” 键,当用户按下 “ - ”(破折号)键在JavaScript
我这样的代码如何自动按 “Tab” 键,当用户按下 “ - ”(破折号)键在JavaScript
function Tab(e)
{
var input = e.keyCode ? e.keyCode : e.charCode;
if ((input>=48 && input<=57) || (input==45))
{
if (input==45)
{
//what should i do here? so,
//if user press "-", its auto tab to next textfield,
return false
}
else
return true;
}
else
return false;
}
这里我的HTML
<input type="text" name="a[]" maxlength='3' onkeypress="return Tab(event)">
<input type="text" name="a[]" maxlength='3' onkeypress="return Tab(event)">
<input type="text" name="a[]" maxlength='3' onkeypress="return Tab(event)">
我一直在寻找谷歌。但其返回类似的文章,这不是我要找的。
我有很多相似的文本字段,所以不可能包含我使用数组名称的下一个文本字段的名称原因。
对不起,如果我的英语不好,但我希望你明白我想
你可以关注下输入这样的同级什么:
HTML:
<input type="text" name="a[]" maxlength='3' onkeypress="return Tab(event, this)">
<input type="text" name="a[]" maxlength='3' onkeypress="return Tab(event, this)">
<input type="text" name="a[]" maxlength='3' onkeypress="return Tab(event, this)">
JS:
function Tab(e, inp)
{
var input = e.keyCode ? e.keyCode : e.charCode;
if ((input>=48 && input<=57) || (input==45))
{
if (input==45)
{
//focus the next input if there is one
while(inp.nextSibling)
{
var inp=inp.nextSibling;
if(inp.nodeType===1 && inp.tagName.toLowerCase()=="input")
{
inp.focus();
break;
}
}
return false
}
else
return true;
}
else
return false;
}
只需要10秒就可以询问google。你不能模拟Tab键,但有不同的解决方法(也许你可以使用一个数组包含所有你的字段的ID,保存索引,按下破折号,在数组中重点索引+1)( +设置保存指数的onfocus每个文本字段,如果用户通过点击它还是真的压片))
当然你可以*模拟*选项卡,即使没有tabindex。这并不完美,但请参阅[EmulateTab](https://github.com/joelpurra/emulatetab),以获得将焦点移至下一个元素的一般方式 - 也[请尝试简单演示](http://joelpurra.github。 COM/emulatetab /示例/ demo.html)。 – 2012-02-17 11:59:35
我也曾有过类似的问题,在这里我想按+上的数字键盘聚焦在现场要注意选项卡到下一个字段。现在我已经发布了一个我认为会帮助你的图书馆。但确实需要jquery。
PlusAsTab:一个jQuery插件,将numpad plus键用作tab键等价物。
既然你想-(在正常的键,我猜),而不是,你可以设置的选项。找出您想要与jQuery event.which demo一起使用的密钥。
JoelPurra.PlusAsTab.setOptions({
// Use dash instead of plus
// Number 189 found through demo at
// https://api.jquery.com/event.which/
key: 189
});
// Matches all inputs with name "a[]" (needs some character escaping)
$('input[name=a\\[\\]]').plusAsTab();
您可以try it out in the PlusAsTab demo,并检查了enter-as-tab demo。如果您想更改为-密钥,您可以从您的JavaScript控制台拨打JoelPurra.PlusAsTab.setOptions({key: 189});
。
只是编辑,如果有错误的话 – 2010-11-25 14:00:59