使用nodejs raw stdin检查退格字符时出现问题

时间:2014-06-16 06:05:18

标签: javascript node.js unicode

我无法确定如何检查用户在进行原始输入时按下退格/删除键的时间。 这是代码示例

process.stdin.setRawMode( true );
process.stdin.setEncoding( 'utf8' );
process.stdin.resume();

process.stdin.on( 'data', function( key ){
    /**
     * Trying to check if the delete key is entered
     */
     if( key === '\u0008' ){
         /**
          * code
          */
      }
      process.stdout.write( key );
});

我尝试这样做的原因是因为当我将stdin设置为rawMode时,按下退格键只会移动光标(就像按下空格键一样)。我找到了如何使用stdout.moveCursor和stdout.clearLine模拟删除,但无法弄清楚如何检查是否按下了删除键。

感谢

1 个答案:

答案 0 :(得分:2)

你可以这样做:

if( key.charCodeAt(0) === 127 ){