Maison > interface Web > js tutoriel > le corps du texte

Comment détecter et bloquer les combinaisons de touches Ctrl V et Ctrl C en JavaScript ?

Mary-Kate Olsen
Libérer: 2024-10-27 11:49:02
original
940 Les gens l'ont consulté

How to Detect and Block Ctrl V and Ctrl C Key Combinations in JavaScript?

Détection de Ctrl V et Ctrl C en JavaScript

Pour empêcher les utilisateurs de coller du contenu dans une zone de texte, JavaScript peut être utilisé pour détecter et bloquer certaines combinaisons de clavier.

Une approche courante consiste à utiliser les événements keydown et keyup pour surveiller l'appui et le relâchement de la touche Ctrl (ctrlKey ou cmdKey pour Mac). Lorsque Ctrl est détecté, les appuis ultérieurs sur les touches V (coller) ou C (copier) sont interceptés.

Voici un exemple d'extrait de code :

<code class="javascript">$(document).ready(function() {
    var ctrlDown = false,
        ctrlKey = 17,
        cmdKey = 91,
        vKey = 86,
        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;
    });

    $(".no-copy-paste").keydown(function(e) {
        if (ctrlDown &amp;&amp; (e.keyCode == vKey || e.keyCode == cKey)) return false;
    });
    
    // Document Ctrl + C/V 
    $(document).keydown(function(e) {
        if (ctrlDown &amp;&amp; (e.keyCode == cKey)) console.log("Document catch Ctrl+C");
        if (ctrlDown &amp;&amp; (e.keyCode == vKey)) console.log("Document catch Ctrl+V");
    });
});</code>
Copier après la connexion

Dans ce code, les éléments avec le La classe "pas de copier-coller" a Ctrl V et Ctrl C désactivés. Le code enregistre également ces combinaisons de touches lorsque vous appuyez n'importe où dans le document.

Implémentation

Pour implémenter cela dans une zone de texte, HTML et CSS peuvent être utilisés :

<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>
Copier après la connexion
<code class="css">.no-copy-paste {
    -webkit-user-select: none;  /* Chrome/Safari */
    -moz-user-select: none;     /* Firefox */
    -ms-user-select: none;      /* IE/Edge */
    user-select: none;          /* Standard syntax */
}</code>
Copier après la connexion

Cette approche empêche efficacement le texte d'être copié et collé dans des zones de texte protégées.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!