有没有一种方法可以使用元素innerHTML作为keyCode号?

时间:2019-03-29 11:26:46

标签: jquery html tampermonkey

标题说明了这一点,我想知道是否可以将innerHTML用作keyCode值,例如:

if (event.keyCode == 65) { 
        thing1();
        thing2();
}

是否可以获取元素的innerHTML并使用它代替“ 65”?例如,您创建了一个可单击的框,其中记录了您按下的任何键,并将其转换为要使用的keyCode号,而不是“ 65”?

1 个答案:

答案 0 :(得分:1)

是的,这是可能的。正如您已使用jQuery标记了此问题一样,最好使用text()方法而不是html()innerHTML,然后在进行比较之前将其转换为整数。试试这个:

var keycode = parseInt($('span').text(), 10);

$('#foo').on('keypress', function(e) {
  if (e.keyCode === keycode) {
    console.log(`You pressed '${String.fromCharCode(keycode)}', keycode: ${e.keyCode}`);
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>
  Keycode: <span>97</span>
</p>

<p>
  Press 'a' in this field:
  <input type="text" id="foo" />
</p>