简体   繁体   English

如何在使用JavaScript键入字母后放置空格?

[英]How to put white space after a letter while typing with JavaScript?

I want to put empty spaces after a letter while typing. 我想在打字时把一个空格放在空格后面。

We can make it with css letter-spacing property but when we copy this text, i does not keep white spaces. 我们可以使用css letter-spacing属性,但是当我们复制这个文本时,我不会保留空格。

How can we make it with vanilla javascript? 我们如何用香草javascript制作它?

Added letter-spacing to my css to show what i want exaclty. 为我的CSS增加了字母间距,以显示我想要的东西。

JSFIDDLE 的jsfiddle

 var my_text = document.getElementById("my_text"); var output_text = document.getElementById("output_text"); my_text.addEventListener("keyup", function() { var val = this.value; output_text.innerHTML = val; }); 
 #output_text { width: 300px; height: 200px; border: 1px solid #ccc; letter-spacing: 10px; } 
 <textarea id="my_text" cols="30" rows="10"></textarea> <div id="output_text"></div> 

Split all the characters and join with a white space: https://jsfiddle.net/wkw72u7e/4/ . 拆分所有字符并使用空格连接: https//jsfiddle.net/wkw72u7e/4/

var my_text = document.getElementById("my_text");
var output_text = document.getElementById("output_text");

my_text.addEventListener("keyup", function() {
  output_text.innerHTML = this.value.split('').join(' ');
});


#output_text {
  width: 300px;
  height: 200px;
  border: 1px solid #ccc;
}

And why vanilla javascript? 为什么香草javascript? Ordinary javascript can do it: 普通的javascript可以做到:

 var my_text = document.getElementById("my_text"); var output_text = document.getElementById("output_text"); my_text.addEventListener("keypress", function(event) { event.preventDefault(); output_text.innerHTML += " " + String.fromCharCode(event.keyCode); }); 
 #output_text { width: 300px; height: 200px; border: 1px solid #ccc; } 
 <textarea id="my_text" cols="30" rows="10"></textarea> <div id="output_text"></div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM