Melumpuhkan Ctrl C dan Ctrl V dalam JavaScript untuk Kawasan Teks Terhad
Dalam senario tertentu, adalah wajar untuk menyekat pengguna daripada menyalin dan menampal kandungan ke dalam kawasan teks tertentu. Ini sering dilakukan untuk memastikan kandungan kekal asli dan tidak diubah. JavaScript menyediakan cara yang mudah untuk mengesan kombinasi kekunci Ctrl V dan Ctrl C serta menyekat tindakan ini.
Untuk mencapai matlamat ini, kami boleh menggunakan acara keydown dan keyup untuk memantau tekanan kekunci. Kami mentakrifkan kod kunci untuk Ctrl (17 atau 91 bergantung pada sistem pengendalian), serta V dan 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>
Seterusnya, kami menambah pengendali kekunci pada elemen textarea yang ingin kami hadkan. Ia menyemak sama ada Ctrl ditekan dan jika V atau C ditekan serentak, ia mengembalikan palsu untuk mengelakkan tindakan salin atau tampal lalai.
<code class="js">$(".no-copy-paste").keydown(function(e) { if (ctrlDown && (e.keyCode == vKey || e.keyCode == cKey)) { return false; } });</code>
Untuk menunjukkan bahawa penyelesaian ini sememangnya menghalang salin dan tampal, kami boleh menambah kawasan teks lain yang tidak dihadkan dan perhatikan bahawa operasi salin dan tampal berfungsi di sana.
<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>
Ringkasnya, dengan mengesan kombinasi kekunci Ctrl V dan Ctrl C dan menghalang tindakan lalai dalam kawasan teks tertentu, kami boleh dengan berkesan menyekat pengguna daripada menyalin atau menampal kandungan ke dalam kawasan tersebut.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Lumpuhkan Ctrl C dan Ctrl V dalam Kawasan Teks Tertentu Menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!