Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengesan Klik Kanan dalam JavaScript?

Bagaimana untuk Mengesan Klik Kanan dalam JavaScript?

Susan Sarandon
Susan Sarandonasal
2024-11-10 13:40:02312semak imbas

How to Detect Right-Clicks in JavaScript?

Acara Klik Kanan JavaScript

Adakah mungkin untuk mengesan klik kanan dalam JavaScript? Ya, anda boleh menggunakan acara tetikus JavaScript seperti 'mousedown' atau 'mouseup' untuk mengesan klik kanan. Walau bagaimanapun, jika anda menyasarkan untuk menjejaki pembukaan menu klik kanan, anda perlu menggunakan 'oncontextmenu' sebaliknya.

Mengesan Acara Klik Kanan dengan tetikus

Untuk mengesan klik kanan menggunakan acara tetikus, semak sifat 'mana' atau 'butang' objek 'acara' dalam pengendalian acara fungsi:

document.body.onclick = function (e) {
    var isRightMB;
    e = e || window.event;

    if ("which" in e)  // Gecko (Firefox), WebKit (Safari/Chrome) & Opera
        isRightMB = e.which == 3; 
    else if ("button" in e)  // IE, Opera 
        isRightMB = e.button == 2; 

    alert("Right mouse button " + (isRightMB ? "" : " was not") + "clicked!");
} 

Acara oncontextmenu untuk Menu Klik Kanan

Acara 'oncontextmenu' tercetus apabila menu klik kanan dibuka, tidak kira sama ada tetikus atau papan kekunci telah digunakan. Untuk menggunakan acara ini, hanya tetapkan fungsi sebagai pengendalinya:

window.oncontextmenu = function ()
{
    showCustomMenu();
    return false;     // cancel default menu
}

Dengan menggabungkan acara 'mouse' dan 'oncontextmenu', anda boleh mengendalikan interaksi klik kanan dalam JavaScript dengan berkesan.

Atas ialah kandungan terperinci Bagaimana untuk Mengesan Klik Kanan dalam 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