Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mengesan dan Menghalang Gabungan Kunci Ctrl V dan Ctrl C dalam JavaScript?

Bagaimana untuk Mengesan dan Menghalang Gabungan Kunci Ctrl V dan Ctrl C dalam JavaScript?

Mary-Kate Olsen
Lepaskan: 2024-10-27 11:49:02
asal
1026 orang telah melayarinya

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

Mengesan Ctrl V dan Ctrl C dalam JavaScript

Untuk menghalang pengguna daripada menampal kandungan ke dalam kawasan teks, JavaScript boleh digunakan untuk mengesan dan menyekat kombinasi papan kekunci tertentu.

Pendekatan biasa melibatkan penggunaan acara keydown dan keyup untuk memantau penekanan dan pelepasan kekunci Ctrl (ctrlKey atau cmdKey untuk Mac). Apabila Ctrl dikesan, tekanan seterusnya kekunci V (tampal) atau C (salin) dipintas.

Berikut ialah contoh coretan kod:

<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>
Salin selepas log masuk

Dalam kod ini, elemen dengan Kelas "no-copy-paste" mempunyai Ctrl V dan Ctrl C dilumpuhkan. Kod ini juga merekodkan gabungan kekunci ini apabila ditekan di mana-mana dalam dokumen.

Pelaksanaan

Untuk melaksanakan ini dalam kawasan teks, HTML dan CSS boleh digunakan:

<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>
Salin selepas log masuk
<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>
Salin selepas log masuk

Pendekatan ini berkesan menghalang teks daripada disalin dan ditampal ke dalam kawasan teks yang dilindungi.

Atas ialah kandungan terperinci Bagaimana untuk Mengesan dan Menghalang Gabungan Kunci Ctrl V dan Ctrl C dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan