Maison  >  Article  >  interface Web  >  Comment puis-je désactiver Ctrl C et Ctrl V dans des zones de texte spécifiques à l'aide de JavaScript ?

Comment puis-je désactiver Ctrl C et Ctrl V dans des zones de texte spécifiques à l'aide de JavaScript ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-30 20:51:02971parcourir

How Can I Disable Ctrl C and Ctrl V in Specific Text Areas Using JavaScript?

Désactivation de Ctrl C et Ctrl V en JavaScript pour les zones de texte restreintes

Dans certains scénarios, il peut être souhaitable d'empêcher les utilisateurs de copier et coller du contenu dans des zones de texte spécifiques. Ceci est souvent fait pour garantir que le contenu reste original et inchangé. JavaScript fournit un moyen pratique de détecter les combinaisons de touches Ctrl V et Ctrl C et de restreindre ces actions.

Pour y parvenir, nous pouvons utiliser les événements keydown et keyup pour surveiller les pressions sur les touches. Nous définissons les codes clés pour Ctrl (17 ou 91 selon le système d'exploitation), ainsi que pour V et C.

<code class="js">var ctrlDown = false;
var ctrlKey = 17;
var cmdKey = 91;
var vKey = 86;
var cKey = 67;

$(document).keydown(function(e) {
    if (e.keyCode == ctrlKey || e.keyCode == cmdKey) {
        ctrlDown = true;
    }
}).keyup(function(e) {
    if (e.keyCode == ctrlKey || e.keyCode == cmdKey) {
        ctrlDown = false;
    }
});</code>

Ensuite, nous ajoutons un gestionnaire de touches aux éléments de zone de texte que nous souhaitons restreindre. Il vérifie si Ctrl est enfoncé et si V ou C est enfoncé simultanément, il renvoie false pour empêcher l'action copier ou coller par défaut.

<code class="js">$(".no-copy-paste").keydown(function(e) {
    if (ctrlDown && (e.keyCode == vKey || e.keyCode == cKey)) {
        return false;
    }
});</code>

Pour démontrer que cette solution empêche effectivement le copier-coller, nous pouvons ajouter une autre zone de texte qui n'est pas restreinte et observez que les opérations de copier-coller y fonctionnent.

<code class="html"><h3>Ctrl+c Ctrl+v disabled</h3>
<textarea class="no-copy-paste"></textarea>

<br>
<br>

<h3>Ctrl+c Ctrl+v allowed</h3>
<textarea></textarea></code>

En résumé, en détectant les combinaisons de touches Ctrl V et Ctrl C et en empêchant l'action par défaut dans des zones de texte spécifiques, nous pouvons efficacement empêcher les utilisateurs de copier ou coller du contenu dans ces zones.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn