Javascript Chromebook Alt键
基本上,我使用的Chromebook很难区分alt键。如下图所示,左下角有一个(左下角第二个键,我称之为ALT1),右下角有一个较小的(右下角第五个键,ALT2)Javascript Chromebook Alt键,javascript,keyboard,key,keycode,Javascript,Keyboard,Key,Keycode,基本上,我使用的Chromebook很难区分alt键。如下图所示,左下角有一个(左下角第二个键,我称之为ALT1),右下角有一个较小的(右下角第五个键,ALT2) (来源:) 我的代码具有此if功能,由alt和enter键触发: if (e.altKey && e.keyCode == 13) { 当我按下ALT1和enter键时,该功能按预期工作。但是,当我按下ALT2和enter键时,它所做的只是触发“enter”事件(因此,如果我在表单中,它将提交表单) 为了解决这个问
(来源:) 我的代码具有此if功能,由alt和enter键触发:
if (e.altKey && e.keyCode == 13) {
当我按下ALT1和enter键时,该功能按预期工作。但是,当我按下ALT2和enter键时,它所做的只是触发“enter”事件(因此,如果我在表单中,它将提交表单)
为了解决这个问题,我尝试使用
if (e.keyCode == 18 && e.keyCode == 13) {
然而,ALT1和ALT2都不能解决这个问题。有什么想法吗?您可以在此页面中测试两个alt键代码:
可能Chromebook为两个alt键提供了不同的代码。您可以在此页面中测试两个alt键代码:
也许Chromebook为两个alt键提供了不同的代码。在现实生活中,simultanius事件很少存在。我想说的是,无论你同时按下两个键,你都不会在同一时间成功 你现在可以用这个了
var key1pressed = false;
var key2pressed = false;
$("#somelement").keydown(function(e) {
if(e.which == 13) {
key1pressed = true;
}
if(e.which == 18) {
key2pressed = true;
}
keyspressed();
}).keyup(function(e) {
if(e.which == 13) {
key1pressed = false;
}
if(e.which == 18) {
key2pressed = false;
}
});
function keyspressed() {
if(key1pressed == true && key2pressed == true) {
alert("you pressed these 2 keys together");
}
}
我想这就是你的意思吧?在现实生活中,simultanius事件很少存在。我想说的是,无论你同时按下两个键,你都不会在同一时间成功 你现在可以用这个了
var key1pressed = false;
var key2pressed = false;
$("#somelement").keydown(function(e) {
if(e.which == 13) {
key1pressed = true;
}
if(e.which == 18) {
key2pressed = true;
}
keyspressed();
}).keyup(function(e) {
if(e.which == 13) {
key1pressed = false;
}
if(e.which == 18) {
key2pressed = false;
}
});
function keyspressed() {
if(key1pressed == true && key2pressed == true) {
alert("you pressed these 2 keys together");
}
}
我想这就是你的意思吧?更新2
我使用了对我的原始代码稍加修改的版本
<script>
window.onkeydown = function (e) {
var enter1 = false;
if (e.keyCode == 13) {
var enter1 = true;
}
if (e.key === 'AltGraph') {
if (enter1 = true) {
//Do what Alt + Enter does
console.log("It worked");
}
}
if (e.altKey && e.keyCode == 13) {
//Do what Alt + Enter does
console.log("It worked");
}
};
</script>
单击此处并按一些修改键,如Shift
更新2
我使用了对我的原始代码稍加修改的版本
<script>
window.onkeydown = function (e) {
var enter1 = false;
if (e.keyCode == 13) {
var enter1 = true;
}
if (e.key === 'AltGraph') {
if (enter1 = true) {
//Do what Alt + Enter does
console.log("It worked");
}
}
if (e.altKey && e.keyCode == 13) {
//Do what Alt + Enter does
console.log("It worked");
}
};
</script>
单击此处并按一些修改键,如Shift
@vlaz-可能您误解了-当用户按Alt和enterAh时会触发我的函数,确实,我误解了,对不起。@vlaz-可能您误解了-当用户按Alt和enterAh时会触发我的函数,确实,我误解了,对不起。嗨-讽刺的是,这是我用来查找钥匙码的网站。这两个参数都给了我一个“18”,所以我不确定这为什么不起作用。问题是使用e.keyCode
而不是e.key
,但请检查另一个工具:。它有关于不同键盘事件及其属性的更详细信息。嗨-讽刺的是,这是我用来查找键盘代码的第一个网站。这两个参数都给了我一个“18”,所以我不确定这为什么不起作用。问题是使用e.keyCode
而不是e.key
,但请检查另一个工具:。它有关于不同键盘事件及其属性的更详细信息。嘿,一次获得两个键并不难。把它想象成Ctrl+C——你按住Ctrl键,然后按C键。我的功能99%的时间都在工作——1%的时间是因为我的手指滑了一下,按错了键。问题不在于函数,而在于键代码。由于某种原因,我的电脑无法识别另一个Alt键,因为我怀疑你所说的是否正确。您正在询问变量e.keyCode(一次只能有一个值)是否有两个不同的值。即18和13。这是不可能的。你问得好像雨和干同时在下。你的观点是正确的,我误解了你最初的回答。。。请看,当我调用e.altKey时,函数不与ALT2一起工作,但是当我调用e.keyCode==18时,两者都不工作。然而,我只是尝试了你的代码,但它没有帮助-alt2仍然没有被识别为ALT键,这很奇怪。这应该和你在keycode.info上看到的一样。对于计算机来说,左和右alt按钮仅被视为一个alt按钮,因此您点击两个alt按钮中的哪一个并不重要。我只是在我的戴尔笔记本电脑上测试了我自己的代码。不管是左键还是右键,他们都给了我提示信息。嘿,一次拿到两把钥匙并不难。把它想象成Ctrl+C——你按住Ctrl键,然后按C键。我的功能99%的时间都在工作——1%的时间是因为我的手指滑了一下,按错了键。问题不在于函数,而在于键代码。由于某种原因,我的电脑无法识别另一个Alt键,因为我怀疑你所说的是否正确。您正在询问变量e.keyCode(一次只能有一个值)是否有两个不同的值。即18和13。这是不可能的。你问得好像雨和干同时在下。你的观点是正确的,我误解了你最初的回答。。。请看,当我调用e.altKey时,函数不与ALT2一起工作,但是当我调用e.keyCode==18时,两者都不工作。然而,我只是尝试了你的代码,但它没有帮助-alt2仍然没有被识别为ALT键,这很奇怪。这应该和你在keycode.info上看到的一样。对于计算机来说,左和右alt按钮仅被视为一个alt按钮,因此您点击两个alt按钮中的哪一个并不重要。我只是在我的戴尔笔记本电脑上测试了我自己的代码。不管是左键还是右键,他们都给了我警告信息。