如何获取 [ 和 { 以及 ' 和 " 的不同 javascript 键码


大家好,我正在制作一个文本编辑器,它使用jQuery自动完成括号和引号。要做到这一点,我正在使用密钥码,然而,它似乎[和{共享一个密钥码(与"one_answers"相同(。我如何在下面的函数中区分这些:
$("#input").on("keyup", function(e) {
if (e.which == 219) {}
}); 

KeyboardEvent#已弃用。

使用KeyboardEvent#key

I.E.e.key === '['e.key === '{'

不可能为{['"获取不同的密钥代码。但是,如果您想检查密钥是否为[{,则可以使用以下逻辑:

$(document).on("keyup", function(e) {
if (e.which == 219 && e.shiftKey) {
console.log('{ was pressed');
}
if (e.which == 219 && !e.shiftKey) {
console.log('[ was pressed');
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

也可以使用e.key === '{'e.key ==='['直接检查

希望能有所帮助。

使用此

$(document).on("keyup", function(e) {
if (e.which == 219 && e.shiftKey) {
console.log('perssed:{');
} else if (e.which == 219 && (!e.shiftKey)) {
console.log('perssed:[');
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>