Javascript Chromebook Alt键

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”事件(因此,如果我在表单中,它将提交表单) 为了解决这个问

基本上,我使用的Chromebook很难区分alt键。如下图所示,左下角有一个(左下角第二个键,我称之为ALT1),右下角有一个较小的(右下角第五个键,ALT2)


(来源:)

我的代码具有此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按钮中的哪一个并不重要。我只是在我的戴尔笔记本电脑上测试了我自己的代码。不管是左键还是右键,他们都给了我警告信息。