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 && (e.keyCode == vKey || e.keyCode == cKey)) return false; }); // Document Ctrl + C/V $(document).keydown(function(e) { if (ctrlDown && (e.keyCode == cKey)) console.log("Document catch Ctrl+C"); if (ctrlDown && (e.keyCode == vKey)) console.log("Document catch Ctrl+V"); }); });</code>
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>
<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>
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!