Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mensimulasikan Acara Papan Kekunci dalam Safari dengan Penyebaran Kod Kunci yang Tepat?

Bagaimana untuk Mensimulasikan Acara Papan Kekunci dalam Safari dengan Penyebaran Kod Kunci yang Tepat?

Barbara Streisand
Barbara Streisandasal
2024-12-06 06:50:11308semak imbas

How to Simulate Keyboard Events in Safari with Accurate Key Code Propagation?

Mensimulasikan Acara Papan Kekunci dalam Safari dengan JavaScript

Apabila cuba mensimulasikan acara papan kekunci dalam Safari menggunakan pendekatan konvensional, pembangun sering menghadapi masalah dengan kod utama ditetapkan kepada sifar dan bukannya nilai yang dikehendaki. Walau bagaimanapun, terdapat penyelesaian yang boleh dipercayai menggunakan polyfill Acara Papan Kekunci DOM Tahap 3 JavaScript.

Polyfill Acara Papan Kekunci DOM Tahap 3

Polyfill Acara Papan Kekunci DOM Tahap 3 memberi kuasa kepada pembangun untuk mencipta dan menghantar acara papan kekunci dengan keserasian yang dipertingkatkan. Untuk menggunakan polyfill ini, ikuti langkah berikut:

element.addEventListener("keydown", function(e){ console.log(e.key, e.char, e.keyCode) })

var e = new KeyboardEvent("keydown", {bubbles : true, cancelable : true, key : "Q", char : "Q", shiftKey : true});
element.dispatchEvent(e);

Sifat Warisan

Jika anda memerlukan sifat warisan seperti "keyCode," "charCode," dan "which," polyfill yang dikemas kini sepenuhnya menyokong mereka. Hanya mulakan KeyboardEvent seperti berikut:

var e = new KeyboardEvent("keydown", {
    bubbles : true,
    cancelable : true,
    char : "Q",
    key : "q",
    shiftKey : true,
    keyCode : 81
});

Pilihan Alternatif

Untuk keserasian merentas pelayar, pertimbangkan untuk menggunakan kaedah initKeyboardEvent alternatif berikut:

function initKeyboardEvent(type, bubbles, cancelable, view, key, location, modifiersList, repeat, locale) {
    var evt = document.createEvent("KeyboardEvent");
    evt.initKeyboardEvent(type, bubbles, cancelable, view, key, location, modifiersList, repeat, locale);
    return evt;
}

Kesimpulan

Dengan memanfaatkan polifill Acara Papan Kekunci DOM Tahap 3 atau alternatifnya initKeyboardEvent, kini anda boleh mencipta dan menghantar acara papan kekunci dengan pasti dalam Safari, memastikan penyebaran kod kunci yang tepat.

Atas ialah kandungan terperinci Bagaimana untuk Mensimulasikan Acara Papan Kekunci dalam Safari dengan Penyebaran Kod Kunci yang Tepat?. 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