这部分代码在 JS / CSS / HTML 编程中会有更短的版本吗?
Would there be a shorter version of this part of code in JS / CSS / HTML programming?
一道JS题/CSS/HTML编程!
再一次,我不擅长问问题的精确性,对于所有的困惑,我深表歉意。说说我对这部分代码的真实意图,看看能有什么解决办法。
我想邀请用户输入字符,这些字符将被放入变量characters
的一部分以用于另一个功能create_random_string()
。
如果是这样,有什么办法可以缩短document.addEventListener()
部分的代码,提高效率?非常感谢!
var characters = '';
function create_random_string(string){
var random_string = '';
for (var i, i = 0; i < string; i++) {
random_string += characters.charAt(Math.floor(Math.random() * characters.length));
}
return random_string;
}
document.addEventListener('keydown', function(event) {
if(event.key == "a") {
characters += "a";
}
else if(event.key == "b") {
characters += "b";
}
else if(event.key == "c") {
characters += "c";
}
...
else if(event.key == "x") {
characters += "x";
}
else if(event.key == "y") {
characters += "y";
}
else if(event.key == "z") {
characters += "z";
}
为什么不检查键的范围:
document.addEventListener('keydown', function(event) {
if (event.key >= 'a' && event.key <= 'z'){
console.log(event.key);
}
e
是 Event Object. .key
是一个事件 属性 获取被点击的键。测试按键事件时,请务必先点击测试区域以获得焦点。
document.onkeydown = logKey;
function logKey(e) {
console.log(e.key);
}
一种比其他答案更短的方法:
document.onkeydown = (e) => console.log(e.key);
这使用内联函数进一步减少答案的长度。
如果您对表单验证更感兴趣,而不仅仅是登录到控制台,您还可以按照以下方式进行一些操作:
function alphaOnly(event) {
let key = event.keyCode;
return ((key >= 65 && key <= 90) || key == 8);
};
一道JS题/CSS/HTML编程!
再一次,我不擅长问问题的精确性,对于所有的困惑,我深表歉意。说说我对这部分代码的真实意图,看看能有什么解决办法。
我想邀请用户输入字符,这些字符将被放入变量characters
的一部分以用于另一个功能create_random_string()
。
如果是这样,有什么办法可以缩短document.addEventListener()
部分的代码,提高效率?非常感谢!
var characters = '';
function create_random_string(string){
var random_string = '';
for (var i, i = 0; i < string; i++) {
random_string += characters.charAt(Math.floor(Math.random() * characters.length));
}
return random_string;
}
document.addEventListener('keydown', function(event) {
if(event.key == "a") {
characters += "a";
}
else if(event.key == "b") {
characters += "b";
}
else if(event.key == "c") {
characters += "c";
}
...
else if(event.key == "x") {
characters += "x";
}
else if(event.key == "y") {
characters += "y";
}
else if(event.key == "z") {
characters += "z";
}
为什么不检查键的范围:
document.addEventListener('keydown', function(event) {
if (event.key >= 'a' && event.key <= 'z'){
console.log(event.key);
}
e
是 Event Object. .key
是一个事件 属性 获取被点击的键。测试按键事件时,请务必先点击测试区域以获得焦点。
document.onkeydown = logKey;
function logKey(e) {
console.log(e.key);
}
一种比其他答案更短的方法:
document.onkeydown = (e) => console.log(e.key);
这使用内联函数进一步减少答案的长度
如果您对表单验证更感兴趣,而不仅仅是登录到控制台,您还可以按照以下方式进行一些操作:
function alphaOnly(event) {
let key = event.keyCode;
return ((key >= 65 && key <= 90) || key == 8);
};