gpt4 book ai didi

javascript - 当按下 Alt 键加上 Bl​​oq 号码中的数字时,防止按键

转载 作者:行者123 更新时间:2023-12-01 03:07:41 24 4
gpt4 key购买 nike

我在避免输入中的特殊字符(Alt + Bloq.num -> ☺☻♥Check♣♠•◘​​○)时遇到问题。

我的输入声明如下:

<html:text styleId="inputMaxVol" styleClass="numeric"/>

这是我的 onReady

$(".numeric").keydown(function(event) {
return maskNumber();
});

这就是我试图完成这项工作的地方(没有成功)

function maskNumber() {
if (event) {
var charCode = (event.which)? event.which : event.keyCode;
console.log(charCode);
// If not a number
if ((charCode < 47 || charCode > 58) && (charCode < 95 || charCode > 105)) {
console.log("not a number");
return false;
} else if (event.altKey) {
//No special characters admitted
console.log("Alt pressed");
return false;
}
} else {
return false;
}
}

如果我按 Alt + 1(数字键盘上的“1”键),则会出现白色笑脸,并且在我的日志中会出现类似的内容

18
not a number
97
Alt pressed

我也尝试过 event.preventDefault() 但没有成功。知道我的问题出在哪里吗?

谢谢,我非常感谢您提供的任何帮助。

更新:正如评论中所解释的,解决方案是更改按键的按键事件并更改字符代码比较数字(现在仅当( charCode < 48 || charCode > 57 )由于返回的数字也发生了变化。

所以解决办法如下

$(".numeric").keypress(function(event) {
return maskNumber();
});

function maskNumber() {
if (event) {
var charCode = (event.which)? event.which : event.keyCode;
// If not a number
if (charCode < 48 || charCode > 57) {
return false;
}
} else {
return false;
}
}

就这么简单!

最佳答案

Try below code it will work on each browser or if you want to use library then visit this link: https://github.com/tzuryby/jquery.hotkeys

$("#txtmy").keypress(function(event) {
if (event.which.toString().length > 3) {
event.preventDefault();
return;
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="txtmy"/>

关于javascript - 当按下 Alt 键加上 Bl​​oq 号码中的数字时,防止按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44886130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com