[英]Trouble with checking for backspace character with nodejs raw stdin
[英]Trouble with checking for enter character with nodejs raw stdin
我无法检查enter
字符。 我尝试使用if (key.charCodeAt(0) === 13) console.log('ENTER');
在我看到退格的相同问题并且它对我有用之后,但我不明白enter
unicode 有什么问题? 因为backspace
, space
和ctrl-c
完美地工作。 我也试过\
和\
,但它们也没有用。
console.clear();
var BACKSPACE = '\u0008';
var CTRL_C = '\u0003';
var ENTER = '\u2386';
var SPACE = '\u0020';
var stdin = process.stdin;
stdin.setEncoding('utf8');
stdin.on('data', (key) => {
if (key === 'q') process.exit();
if (key === ENTER) console.log('ENTER');
});
stdin.setRawMode(true);
事实证明,问题是我认为enter
键表示为 '\\n' 符号,但是正确的符号是 '\\r',它的 Unicode 值为 '\ '
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.