如何为文本区域制作自动字符功能
how to make auto character feature for the textarea
很好 IDE 当你按下 '
(单引号)然后另一个自动添加到它时,它很常见,所以我试着把它做成文本区域所以这是我的代码它不起作用::
var ele = document.getElementById('main');
ele.onkeypress = function(e){
switch(e.keyCode){
case 59: ele.innerHTML+=";"; break;
case 39: ele.innerHTML+="'"; break;
case 47: ele.innerHTML+='/'; break;
case 91: ele.innerHTML+=']'; break;
case 123: ele.innerHTML+='}'; break;
case 45: ele.innerHTML+='-'; break;
}
console.log(e);
}
HTML
<textarea id="main"></textarea>
好吧 console.log(e)
正在工作,它正在记录我在 textarea 中按下按键的次数,它正在工作,但只有一次,即如果我在浏览器中打开包含所有这些代码的页面(我我正在使用 Google Chrome, latest) 并且第一次使用时当且仅当我按下其代码在 switch case 中列出的键时它才有效但之后它不起作用 console.log(e)
每次都在运行。
Textarea 元素没有 HTML 内容,因此 innerHTML
不会如您所愿。您应该使用 value
属性 代替:
var ele = document.getElementById('main');
ele.onkeypress = function(e){
switch(e.keyCode){
case 59: ele.value += ";"; break;
case 39: ele.value += "'"; break;
case 47: ele.value += '/'; break;
case 93: ele.value += ']'; break;
case 125: ele.value += '}'; break;
case 45: ele.value += '-'; break;
}
console.log(e.keyCode);
}
<textarea id="main"></textarea>
很好 IDE 当你按下 '
(单引号)然后另一个自动添加到它时,它很常见,所以我试着把它做成文本区域所以这是我的代码它不起作用::
var ele = document.getElementById('main');
ele.onkeypress = function(e){
switch(e.keyCode){
case 59: ele.innerHTML+=";"; break;
case 39: ele.innerHTML+="'"; break;
case 47: ele.innerHTML+='/'; break;
case 91: ele.innerHTML+=']'; break;
case 123: ele.innerHTML+='}'; break;
case 45: ele.innerHTML+='-'; break;
}
console.log(e);
}
HTML
<textarea id="main"></textarea>
好吧 console.log(e)
正在工作,它正在记录我在 textarea 中按下按键的次数,它正在工作,但只有一次,即如果我在浏览器中打开包含所有这些代码的页面(我我正在使用 Google Chrome, latest) 并且第一次使用时当且仅当我按下其代码在 switch case 中列出的键时它才有效但之后它不起作用 console.log(e)
每次都在运行。
Textarea 元素没有 HTML 内容,因此 innerHTML
不会如您所愿。您应该使用 value
属性 代替:
var ele = document.getElementById('main');
ele.onkeypress = function(e){
switch(e.keyCode){
case 59: ele.value += ";"; break;
case 39: ele.value += "'"; break;
case 47: ele.value += '/'; break;
case 93: ele.value += ']'; break;
case 125: ele.value += '}'; break;
case 45: ele.value += '-'; break;
}
console.log(e.keyCode);
}
<textarea id="main"></textarea>