Obtenir la valeur d’une zone de texte lors d’un événement coupé

J’ai piégé l’événement cut (jQuery) dans une zone de texte. Ce que je veux, c’est que le texte dans la zone de texte soit déclenché pendant que l’événement cut est déclenché.

J’ai essayé d’accéder aux données que l’utilisateur a coupées via evt.originalEvent.clipboardData.getData (‘text’), mais renvoie non défini.

Mon objective est de savoir si l’utilisateur a coupé tout le texte (la zone de texte est maintenant vide) ou non.

Merci d’avance

Vous pouvez setTimeout avec une durée de 0, ce qui planifie l’exécution immédiate d’une fonction. La bonne chose est que la fonction s’exécutera une fois que le texte aura déjà été coupé, vous pourrez donc vérifier si votre zone de texte est vide (ce qui voudrait dire que l’utilisateur a coupé tout le texte):

 var ta = $('#YOUR_TEXTAREA'); ta.bind('cut', function() { setTimeout(function(){ if (!ta.val()) { // user cut the whole text. } },0); }); 

Vous pouvez également vouloir append une vérification avant setTimeout pour vérifier s’il y a du texte dans la zone de texte avant que le texte ne soit coupé (si l’utilisateur appuie sur Ctrl ^ X sans qu’aucun texte ne soit sélectionné, l’événement de coupe se déclenche toujours)

J’espère que je vous ai bien compris:

Dans jQuery, vous pouvez utiliser quelque chose comme ceci pour voir si une zone de texte est vide sur la keyup de chaque utilisateur:

 var txt; $('#textbox_ID').live('keyup', function() { txt = $(this).val().length; if(txt < 1) { alert("textbox is empty"); } }); 

Cela devrait fonctionner, car chaque fois que l'utilisateur relâche une clé et que la zone de texte est active, elle vérifie si elle est vide.

Je suggérerais de regarder ceci, JavaScript obtenir des données de presse-papiers sur l’événement de collage (navigateur croisé) , c’est pour l’événement de collage, mais je suis sûr que vous pouvez faire quelque chose de similaire et comparer la valeur actuelle à celle du presse-papiers le même que l’entrée serait vide, sinon non.