如何更改Ctrl + Backspace的行为

时间:2018-03-26 20:34:08

标签: javascript html google-chrome textarea electron

我正在尝试使用Electron JS创建一个Brainfuck IDE。文本编辑部分是<textarea> HTML元素。

现在,当我按 Ctrl + Backspace 时,整个脚本会因为被视为“单词”而被删除。

如何更改 Ctrl + Backspace 的行为?它是Chrome的东西,还是JS / Electron的东西,还是HTML的东西,还是CSS的东西?

我希望将8个Brainfuck角色中的每一个都视为一个单词。有了这种行为,脚本看起来像这样:

>>><<<+++---...,,,[[[]]]

将在 Ctrl + Backspace 的8个笔画中完全删除。每个3个相同字符的块都是“单词”。

1 个答案:

答案 0 :(得分:1)

当按下 Ctrl + Backspace 时,只需阻止默认行为:

var ta = document.getElementById("ta");

ta.addEventListener("keydown", function(ev) {       // when a keydown event happens in the textarea
  if(ev.ctrlKey && ev.keyCode === 8) {              // check if control key is pressed along with the backspace (key code 8)
    ev.preventDefault();                            // if so, prevent the default behavior of this event
  }
});
<textarea id="ta"></textarea>

注意:在阻止默认行为后,您可以执行任何操作(在当前光标处添加一些文本,删除一些字符,......您想要的任何内容)。