仅接受输入javascript中的数字和选项卡
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了仅接受输入javascript中的数字和选项卡相关的知识,希望对你有一定的参考价值。
我有一些文本字段,我希望用户只能编写数字,也希望TAB可以轻松地转到其他输入。我有这个javascript代码:
function validateNumbers(event) {
if(event.charCode >= 48 && event.charCode <= 57){
return true;
}
return false;
}
在html中我使用onkeypress属性来调用该函数。
您能否帮助我使用我的代码来接受TAB密钥?
答案
您可以在输入标记中使用tabindex="1"
属性来指定下一个需要使用1,2等数字进行聚焦的输入。
Here is an example based on your code
另一答案
请注意,此代码无法在移动浏览器中使用。
$(document).ready(function() {
$("#txtboxToFilter").keydown(function (e) {
// Allow: backspace, delete, tab, escape, enter and .
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
// Allow: Ctrl+A, Command+A
(e.keyCode === 65 && (e.ctrlKey === true || e.metaKey === true)) ||
// Allow: home, end, left, right, down, up
(e.keyCode >= 35 && e.keyCode <= 40)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the keypress
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
});
});
另一答案
而不是keypress
,处理keydown
并删除所有非数字值
var input = document.querySelectorAll( "input" );
Array.from( input ).forEach( function( el ){
el.addEventListener( "keyup", validateNumbers );
});
function validateNumbers(event)
{
var inputObj = event.currentTarget;
inputObj.value = inputObj.value.replace(/[^0-9]/g, "");
}
<input/>
<input/>
以上是关于仅接受输入javascript中的数字和选项卡的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin.Forms Shell 选项卡仅显示列表中的最后一个选项卡
JavaScript 在javascript中仅接受来自键盘的数字数据