7
votes

Est-il possible d'obtenir du texte collé sans utiliser la fonction Settimeout ()?

J'ai découvert que lorsque le texte collé (c.-à-d. Bonjour code>) à l'aide de la souris, la fonction suivante lancera une fenêtre contextuelle vide:

$('input:text').onpaste = function()
{
    setTimeout(function()
    {
        alert($('input:text').val()
    }, 100);
}


4 Réponses :


0
votes

Essayez ceci pour que les données soient collées:

$("input:text").bind('paste', function(e) {
     var text = e.event;
     alert(text);
});


1 commentaires

Je reçois "indéfini" dans l'alerte, pourriez-vous donner un exemple?



1
votes
$('input:text').bind('paste', function() { 
    alert($(this).val());
});

1 commentaires

Ce code ne fonctionne pas, car la valeur collé n'a pas encore été définie dans l'entrée. J'ai testé en utilisant Chrome.



12
votes

Vous pouvez utiliser l'événement Oninput à la place, les navigateurs modernes prennent en charge cette méthode

http://jsfiddle.net/pxfunco/kdljf/ xxx


1 commentaires

Comment puis-je vérifier si l'entrée était une pâte?



0
votes

Je ne pense pas que le code ci-dessous fonctionne sur IE8 car la valeur d'entrée n'est pas modifiée lors de l'alerte () exécutée.

 $('input').bind('input paste', function(e) {
     alert($(this).val());
 }); 


0 commentaires