您可以在不改变焦点的情况下在文本区域中按 Tab 键,同时仍在键入吗?
Can you press tab in a textarea without changing focus while still typing?
HTML:
<textarea id="text"></textarea>
JavaScript:
document.querySelector('#text').addEventListener('keydown', e => {
if (e.keyCode == 9) e.preventDefault();
});
您是否仍然可以在不分散文本区域焦点的情况下编写制表符?
按下 Tab 键时在末尾添加空格:
document.querySelector('#text').addEventListener('keydown', e => {
if (e.keyCode == 9) {
e.preventDefault();
document.querySelector('#text').value += " ";
}
});
编辑:致力于插入空格,我认为这可行:
<textarea id="text"></textarea>
document.querySelector('#text').addEventListener('keydown', e => {
if (e.keyCode == 9) {
e.preventDefault();
var ele = document.querySelector('#text');
var caretPos = ele.selectionStart;
var textAreaTxt = ele.value;
var txtToAdd = " ";
ele.value = textAreaTxt.substring(0, caretPos)
+ txtToAdd
+ textAreaTxt.substring(caretPos);
ele.selectionStart = caretPos + 4;
ele.selectionEnd = caretPos + 4;
}
});
在 的帮助下以及对 js add spaces at cursor position
的一般搜索。
HTML:
<textarea id="text"></textarea>
JavaScript:
document.querySelector('#text').addEventListener('keydown', e => {
if (e.keyCode == 9) e.preventDefault();
});
您是否仍然可以在不分散文本区域焦点的情况下编写制表符?
按下 Tab 键时在末尾添加空格:
document.querySelector('#text').addEventListener('keydown', e => {
if (e.keyCode == 9) {
e.preventDefault();
document.querySelector('#text').value += " ";
}
});
编辑:致力于插入空格,我认为这可行:
<textarea id="text"></textarea>
document.querySelector('#text').addEventListener('keydown', e => {
if (e.keyCode == 9) {
e.preventDefault();
var ele = document.querySelector('#text');
var caretPos = ele.selectionStart;
var textAreaTxt = ele.value;
var txtToAdd = " ";
ele.value = textAreaTxt.substring(0, caretPos)
+ txtToAdd
+ textAreaTxt.substring(caretPos);
ele.selectionStart = caretPos + 4;
ele.selectionEnd = caretPos + 4;
}
});
在 的帮助下以及对 js add spaces at cursor position
的一般搜索。