标题说明了这一点,我想知道是否可以将innerHTML用作keyCode值,例如:
if (event.keyCode == 65) {
thing1();
thing2();
}
是否可以获取元素的innerHTML并使用它代替“ 65”?例如,您创建了一个可单击的框,其中记录了您按下的任何键,并将其转换为要使用的keyCode号,而不是“ 65”?
答案 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>