2009-10-21 4 views
12

J'ai entrée de la boîte. Lors du chargement de la page, j'utilise la souris pour faire un clic droit sur la zone de saisie et choisir coller dans le menu contextuel.détecter coller sur la boîte d'entrée

lorsque le texte est collé, quel événement utiliser pour alerter le texte instantanément dès qu'il y a collage?

utiliser « pâte d'entrée », mais travaille pas dans IE

Répondre

-5

Il a été mis en une action avec setInterval (fonction javascript), qui vérifie tous les 200ms le contenu de l'entrée. Si elle est modifiée, le passé ou la frappe a eu lieu.

44

Vous pouvez lier ces événements comme ceci:

$(document).ready(function() { 
     $("#Text1").bind('copy', function(e) { 
      alert('copying text!'); 
     }); 
     $("#Text1").bind('paste', function(e) { 
      alert('pasting text!'); 
     }); 
     $("#Text1").bind('cut', function(e) { 
      alert('cut text!'); 
     }); 
    }); 
+1

+1 J'étais trop lent. – Tester101

+1

J'aimerais connaître les raisons des électeurs. Merci. – Buggabill

+0

Merci Buggabill! Cela m'a aidé dans un projet sur lequel je travaille actuellement. – blackhawk

-1

Un hack qui fonctionne la plupart du temps serait de brancher dans onchange de contrôle tout en stockant le texte initial de la commande dans une variable séparée. Chaque fois que la longueur du nouveau texte est plus longue que le texte original par plus d'un caractère, vous pouvez supposer que quelque chose a été collé. Évidemment, cela ne fonctionnerait pas si quelqu'un collé dans une chaîne de caractères, mais les gens ne le font pas faites cela très souvent.

+14

Quelle idée horrible. C'est une sacrément bonne chose que vous ne fassiez plus beaucoup de travail sur le web. – MusiGenesis

+2

Avez-vous appelé votre propre réponse une idée horrible? –

+3

@KasperSkov: Eh bien, il y a quatre ans, ce n'est pas exactement "juste". – MusiGenesis

Questions connexes