Rumah  >  Artikel  >  hujung hadapan web  >  jquery melarang tampal klik kanan

jquery melarang tampal klik kanan

PHPz
PHPzasal
2023-05-09 10:45:37543semak imbas

Dengan perkembangan pesat aplikasi Internet dan tapak web, teknologi bahagian hadapan sentiasa berinovasi dan maju jQuery ialah perpustakaan JavaScript yang digunakan secara meluas, yang digunakan terutamanya untuk operasi DOM dan pemprosesan acara. Di sini, kita akan belajar bagaimana untuk melumpuhkan fungsi tampal klik kanan dalam projek web menggunakan jQuery.

Pertama, mari kita fahami apa itu tampal klik kanan. Apabila pengguna mengklik kanan pada kotak input pada halaman web dan memilih pilihan "Tampal", kandungan yang disimpan dalam papan penampal akan disalin secara automatik ke kotak input. Walau bagaimanapun, terdapat situasi di mana kami mungkin perlu melarang tingkah laku ini, seperti menghalang pengguna daripada menyalin maklumat sensitif daripada tapak web lain ke tapak web kami. Pada masa ini, kita perlu melaksanakan fungsi melumpuhkan tampal klik kanan dalam kod bahagian hadapan.

Kaedah menggunakan jQuery untuk melumpuhkan tampal klik kanan adalah sangat mudah Anda hanya perlu mengikat pengendali acara menu konteks selepas dokumen dimuatkan dan melumpuhkan operasi tampal lalai dalam acara tersebut. Berikut ialah kaedah pelaksanaan khusus:

$(document).ready(function() {
  $('input[type="text"]').on('contextmenu', function() {
    return false;
  });
});

Dalam kod di atas, kami menggunakan kaedah ready() jQuery untuk memastikan DOM dimuatkan sepenuhnya sebelum melaksanakan skrip. Seterusnya, kami memilih semua kotak input dengan jenis "teks" dan mengikat pengendali acara menu konteks kepada mereka. Apabila pengguna mengklik kanan kotak input, acara akan dicetuskan dan fungsi panggil balik dengan nilai pulangan palsu akan dilaksanakan, supaya operasi tampal lalai boleh dilumpuhkan.

Kod di atas hanya boleh melumpuhkan tampal klik kanan Jika pengguna melakukan operasi tampal melalui kekunci pintasan, ia masih sah. Untuk melumpuhkan operasi menampal dengan cara lain, kami boleh menambah kod untuk melumpuhkan operasi menampal dalam acara keydown dan keyup kotak input. Pelaksanaan khusus adalah seperti berikut:

$(document).ready(function() {
  $('input[type="text"]').on('contextmenu', function() {
    return false;
  }).on('keydown', function(event) {
    // 禁用 Command + V (Mac) 和 Ctrl + V (Windows) 快捷键
    if (event.keyCode === 86 && (event.metaKey || event.ctrlKey)) {
      return false;
    }
  }).on('keyup', function(event) {
    // 禁用 Shift + Insert 快捷键
    if (event.keyCode === 45 && event.shiftKey) {
      return false;
    }
  });
});

Dalam kod di atas, selain daripada mengikat acara menu konteks, kami juga mengikat acara keydown dan keyup ke kotak input. Dalam acara keydown, kami melumpuhkan Command + V pada Mac dan Ctrl + V pada pintasan Windows dengan menilai sifat keyCode dan metaKey/CtrlKey acara papan kekunci. Dalam acara keyup, kami melumpuhkan kekunci pintasan Shift + Insert dengan menilai sifat keyCode dan shiftKey.

Dengan cara ini, kami telah berjaya menggunakan jQuery untuk melaksanakan fungsi melumpuhkan tampal klik kanan. Apabila pengguna cuba menampal, kandungan asal dalam kotak input akan dikekalkan dan kandungan dalam papan penampal tidak akan disalin secara automatik ke kotak input.

Akhir sekali, perlu diingatkan bahawa kerana melumpuhkan tampal klik kanan boleh menjejaskan pengalaman pengguna, kami harus menggunakan ciri ini apabila perlu untuk mengelakkan pengehadan operasi pengguna secara berlebihan.

Atas ialah kandungan terperinci jquery melarang tampal klik kanan. 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