[英]Trouble with checking for enter character with nodejs raw stdin
I can't check for enter
character.我无法检查
enter
字符。 I tried to use if (key.charCodeAt(0) === 13) console.log('ENTER');
我尝试使用
if (key.charCodeAt(0) === 13) console.log('ENTER');
after I saw a same problem with backspace and it works for me, but I could not understand what is wrong with unicode of enter
?在我看到退格的相同问题并且它对我有用之后,但我不明白
enter
unicode 有什么问题? because backspace
, space
and ctrl-c
works perfectly.因为
backspace
, space
和ctrl-c
完美地工作。 I also tried \
and \
and they also didn't work.我也试过
\
和\
,但它们也没有用。
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.