Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mencegah Ctrl V dan Ctrl C dalam Textarea Tertentu Menggunakan JavaScript?

Bagaimana untuk Mencegah Ctrl V dan Ctrl C dalam Textarea Tertentu Menggunakan JavaScript?

Patricia Arquette
Patricia Arquetteasal
2024-10-27 08:02:31852semak imbas

How to Prevent Ctrl V and Ctrl C in a Specific Textarea Using JavaScript?

Cara Mencegah Ctrl V, Ctrl C dalam JavaScript

Menyalin dan menampal boleh memudahkan pengguna, tetapi terdapat situasi di mana anda boleh perlu menyekat tingkah laku ini, seperti menghalang pengguna daripada menyalin maklumat sensitif atau memanipulasi data dalam medan tertentu. JavaScript menyediakan penyelesaian mudah untuk mengesan dan menghalang kombinasi kekunci Ctrl V dan Ctrl C.

Untuk mencapainya, gunakan langkah berikut:

  1. Kesan Kekunci Ctrl: Gunakan acara keydown untuk menjejaki apabila kekunci Ctrl ditekan dan tetapkan bendera (ctrlDown) untuk menunjukkan keadaannya.
  2. Kendalikan Kombinasi Kekunci: Dalam pengendali acara keydown untuk kawasan teks tertentu anda ingin mengehadkan penampalan, semak sama ada kekunci Ctrl ditekan (ctrlDown) dan kod kekunci sepadan dengan V (86) atau C (67). Jika gabungan dikesan, halang tingkah laku lalai dengan mengembalikan palsu.
  3. Benarkan Menampal Di Luar Kawasan Terhad: Untuk memastikan penampalan kekal didayakan di luar kawasan teks terhad, gunakan dokumen sebagai sasaran acara dalam pisahkan pengendali acara keydown dan lakukan tindakan yang diingini (dalam kes ini, log acara itu).

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>

Dengan kod ini tersedia, pengguna tidak akan dapat menampal kandungan ke dalam kawasan teks terhad semasa Ctrl V ditekan. Mereka masih boleh menaip teks atau menggunakan pintasan papan kekunci lain seperti biasa.

Atas ialah kandungan terperinci Bagaimana untuk Mencegah Ctrl V dan Ctrl C dalam Textarea Tertentu Menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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