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
Lepaskan: 2024-12-06 06:50:11
asal
297 orang telah melayarinya

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);
Salin selepas log masuk

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
});
Salin selepas log masuk

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;
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan