46 votes

Comment détecter un clic droit de souris + coller en utilisant JavaScript ?

Existe-t-il un moyen de détecter un clic droit suivi d'un collage avec JavaScript sur IE et Firefox ?

Mise à jour :

J'ai décidé d'utiliser Jquery pour le faire :

$('#controlId').bind('paste', null, function() {
    // code
});

Ce n'est pas exactement ce que je cherchais (parce qu'il est déclenché par 'ctrl + v' ainsi que par 'clic droit + coller' mais je peux le contourner.

Testé sur Chrome, Firefox 3, IE 7 et IE 6, il fonctionne.

0 votes

J'ai peur. Qu'est-ce que vous essayez de faire ? Je pense que dépendre du clic droit et du collage pose de sérieux problèmes d'ergonomie sur le web.

0 votes

Je suis confus. Voulez-vous dire "détecter un clic droit suivi d'un collage" ou "détecter un clic droit, puis faire un collage" ?

0 votes

Désolé pour ça. J'ai changé le titre et ajouté plus de texte pour le rendre plus facile à comprendre.

0voto

Bob Points 55

J'ai fait ce qui suit, qui ne se déclenche qu'en cas de mouseup :

onmouseup="jQuery(this).on('paste',function(event){setTimeout(function(){alert('Paste detected!');},100);});"

0voto

Jared Points 114

Si vous utilisez Vue, vous pouvez émettre et passer la valeur collée comme suit :

 <v-text-field 
   @input="$emit('rightclickpaste',$event)"  
 >             
 </v-text-field>

-1voto

Aaron Points 922

Une astuce bon marché (qui fonctionne) que vous pouvez essayer est la suivante :

  • La fonction "mouseleave" de jQuery.

J'ai remarqué qu'avec IE8, si vous cliquez avec le bouton droit de la souris dans une zone de texte et que vous sélectionnez "coller", l'événement "mouseleave" est retardé jusqu'à ce que le collage soit terminé. Il se déclenche donc systématiquement juste après le collage ! :) Cela fonctionne pour moi et m'a parfaitement sorti du pétrin.

C'est seulement pour une application intranet, je n'ai pas testé dans Firefox etc.

Cheers

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X