是否存在一些JavaScript / jQuery的脚本转换ASCII到keyCodeS按返回keypress,keyup和keydownDOM事件?
我正在考虑类似的事情:
"A".toKeycode
Run Code Online (Sandbox Code Playgroud)
编辑:我在问是否有人制作了一些将所有 ASCII 字符转换为正确键码的脚本。所以" ".toKeycode也应该工作。
我有一个 HTML 表单,我只需要允许按数字键。为此,我使用了以下代码
$(".span8").keypress(function(e)
{
var unicode=e.charCode?e.charCode : e.keyCode
//警报(Unicode);
if ((unicode ==8) || (unicode==9)|| (unicode==46)){
//如果键不是退格键(我们应该允许)
}
别的
{
if (unicode<48||unicode>57&&unicode!=65) //如果不是数字
return false //禁用按键
}
});
Run Code Online (Sandbox Code Playgroud)
但是在这里,如果我正在测试键码,则删除键的值为 46。46 用于点(-句点)其他值将正确。我无法找到我是不是做错了。请帮忙
我有以下代码将 eventListener 添加到 HTML textarea。它应该控制台记录按下的键码,并且,如果键码是 == 到 17 (CTRL),则控制台记录“您按下了 CTRL。”。出于某种原因,当我在 textarea 中按下 CTRL 时,它不是控制台记录按下的 keyCode,也不是“你按下了 CTRL”。例如,如果我按“A”,控制台日志返回“97”,这是正确的。它也适用于所有其他字母。
这是代码:
document.getElementById("msgBox").addEventListener("keypress",function(e){
console.log(e.keyCode);
if(e.keyCode == 17){
console.log("You pressed CTRL.");
}
});
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
更新:它也不适用于其他特殊键,如“shift、Fx、alt、home 等。
文本区域的 HTML :
<textarea id="msgBox" placeholder="Enter your message" autofocus></textarea>
Run Code Online (Sandbox Code Playgroud) 我试图这样做,以便当用户按下键盘上的PrintScreen按钮时,会出现一个消息框.
我在网上看了很多,这段代码似乎是如何去做的标准.
问题是,我得到一个错误说,
System.Windows.Forms.KeyPressEventArgs'不包含'KeyCode'的定义,并且没有扩展方法'KeyCode'可以找到类型为'System.Windows.Forms.KeyPressEventArgs'的第一个参数(你是否缺少using指令或装配参考?)
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyCode == Keys.PrintScreen)
{
MessageBox.Show("Test");
}
}
Run Code Online (Sandbox Code Playgroud)