JQUERY copie le contenu d’une zone de texte dans un champ lors de la frappe

J’essaie de copier simultanément le contenu d’une zone de texte dans un div pendant que l’utilisateur tape. Voici le code sur JSFIDDLE L’erreur qui se présente est la suivante: la longueur de la valeur copiée dans le div est toujours inférieure de un à celle de la zone de texte . quelle erreur est-ce que je fais dans le script?

Utilisez keyup place.

 $("#boxx").keyup(function(event) { var stt = $(this).val(); $("div").text(stt); }); 

la touche est enfoncée lorsque vous appuyez sur la touche et que vous souhaitez transférer le texte lorsque vous relâchez la touche.

Les événements keyupress et keyress fonctionnent pour la saisie au clavier, mais si vous utilisez la souris pour cliquer avec le bouton droit de la souris et coller quelque chose dans la zone de texte, la modification de valeur ne sera pas prise en compte. Vous pouvez utiliser bind avec l’événement input pour enregistrer les événements keyup et paste de la manière suivante:

 $("#textbox1").bind('input', function () { var stt = $(this).val(); $("#textbox2").val(stt); }); 

L’événement keypress se produit avant que le texte de l’élément ne soit mis à jour. Vous pouvez retarder l’opération de copie pour résoudre ce problème. Même un délai de 0 milliseconde sera suffisant pour que l’opération de copie ait lieu après la mise à jour de l’élément:

 $("#boxx").keypress(function() { var $this = $(this); window.setTimeout(function() { $("div").text($this.val()); }, 0); }); 

Violon mis à jour ici .

 $("#title").keypress(function() { var $this = $(this); window.setTimeout(function() { $("#slug-url").val($this.val().toLowerCase().replace(/ /g, '-')); }, 0); }); 

en utilisant la méthode @ Frédéric Hamidi ‘pour générer une URL conviviale après avoir remplacé les espaces par’ – ‘et modifié le texte en minuscule.

utilisez keyup et changez les deux.

 $("#boxx").on('keypress change', function(event) { var data=$(this).val(); $("div").text(data); }); 

voici l’exemple http://jsfiddle.net/6HmxM/785/

 $("#boxx").keyup(function() { var $this= $(this); window.setTimeout(function() { $("div").text($this.val()); }, 0); }); 

ce travail proprement dit.

Copier fonctionne également f9 enter code here