Je veux mettre des espaces vides après une lettre lors de la frappe.

On peut le faire avec la propriété css letter-spacing mais quand on copie ce texte, je ne garde pas d'espaces blancs.

Comment pouvons-nous le faire avec javascript vanille?

Ajout de l'espacement des lettres à mon css pour montrer exactement ce que je veux.

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>
1
user4991434 2 avril 2017 à 16:17

2 réponses

Meilleure réponse

Et pourquoi javascript vanille? Le javascript ordinaire peut le faire:

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>
0
Wais Kamal 2 avril 2017 à 13:23