我正在尝试使用Electron JS创建一个Brainfuck IDE。文本编辑部分是<textarea>
HTML元素。
现在,当我按 Ctrl + Backspace 时,整个脚本会因为被视为“单词”而被删除。
如何更改 Ctrl + Backspace 的行为?它是Chrome的东西,还是JS / Electron的东西,还是HTML的东西,还是CSS的东西?
我希望将8个Brainfuck角色中的每一个都视为一个单词。有了这种行为,脚本看起来像这样:
>>><<<+++---...,,,[[[]]]
将在 Ctrl + Backspace 的8个笔画中完全删除。每个3个相同字符的块都是“单词”。
答案 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>
注意:在阻止默认行为后,您可以执行任何操作(在当前光标处添加一些文本,删除一些字符,......您想要的任何内容)。