javascript attraper coller événement dans le textarea
J'ai actuellement un textarea qui, je l'exige le contrôle sur le texte qui a été collé dans,
en fait, j'ai besoin d'être en mesure de prendre tout ce que l'utilisateur veut coller dans un textarea et la placer dans une variable.
Je vais ensuite travailler sur la position dans laquelle ils ont collé le texte et la taille de la chaîne à supprimer de la textarea,
Puis au bout de traiter avec le texte cest dans la variable à ma façon.
Ma question: comment puis-je obtenir une copie du texte dans une variable qui vient d'être collé par l'utilisateur?
Grâce.
OriginalL'auteur Jamie | 2010-07-13
Vous devez vous connecter pour publier un commentaire.
J'ai répondu à une question similaire il y a quelques jours: Détecter collé de texte avec ctrl+v ou clic droit -> coller. Cette fois, j'ai inclus une assez longue fonction précise obtient sélection limites dans le textarea dans IE; le reste est relativement simple.
Vous pouvez utiliser de la pâte d'événements pour détecter la pâte dans la plupart des navigateurs (notamment pour ne pas Firefox 2). Lorsque vous manipulez la pâte d'événement, d'enregistrer la sélection en cours, puis de définir un bref timer qui appelle une fonction après le collage est terminé. Cette fonction peut alors comparer les longueurs de savoir où regarder pour le contenu collé. Quelque chose comme ce qui suit:
OriginalL'auteur Tim Down
Vous pouvez maintenant utiliser FilteredPaste.js (http://willemmulder.github.com/FilteredPaste.js/) à la place. Il vous permettra de contrôler ce que le contenu est collé dans un textarea ou contenteditable et vous serez en mesure de filtrer/modifier/extraire le contenu.
OriginalL'auteur Willem Mulder
Une recherche rapide me montre qu'il existe différentes méthodes pour différents navigateurs. Je ne suis pas sûr si jQuery est une solution. Prototype.js ne semble pas en avoir un. Peut-être que YUI peut le faire pour vous?
Vous pouvez également utiliser TinyMCE, car elle n'a pas une foule de différents déclencheurs d'événement. Il est à part entière un traitement de texte, mais vous pouvez l'utiliser en tant que texte brut si vous le souhaitez. Il peut être un peu trop de poids à ajouter. Par exemple, lors de l'initiation, il transforme votre
<textarea>
dans une iFrame avec plusieurs sous. Mais il va faire ce que vous demandez.--Dave
OriginalL'auteur the Hampster