Bagaimana untuk Mensimulasikan Acara Papan Kekunci dalam Safari dengan Kod Kekunci yang Betul?

Mary-Kate Olsen
Lepaskan: 2024-11-23 02:17:09
asal
850 orang telah melayarinya

How to Simulate Keyboard Events in Safari with the Correct Keycode?

Cara Menghantar Acara Papan Kekunci dalam Safari Menggunakan JavaScript

Dalam JavaScript, simulasi acara papan kekunci boleh menjadi masalah, terutamanya dalam Safari. Isu ini timbul apabila anda cuba menetapkan kod kunci tertentu atau sifat mana dalam objek acara anda. Sebaliknya, sifat ini lalai kepada 0, menghalang perlaksanaan lancar logik simulasi acara anda.

Untuk menangani isu ini, penyelesaian yang boleh dipercayai melibatkan penggunaan polifill Acara Papan Kekunci DOM Tahap 3. Dengan melaksanakan polyfill ini, anda boleh memanfaatkan sintaks yang dipertingkatkan yang membolehkan anda menentukan sifat kunci, aksara dan shiftKey secara langsung. Selain itu, ia menyokong takrifan sifat warisan seperti "keyCode," "charCode" dan "which," menawarkan keserasian dengan penyemak imbas lama:

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);

//If you need legacy property "keyCode"
// Note: In some browsers you can't overwrite "keyCode" property. (At least in Safari)
delete e.keyCode;
Object.defineProperty(e, "keyCode", {"value" : 666})
Salin selepas log masuk

Dengan memanfaatkan polyfill, anda kini boleh menghantar acara papan kekunci dengan berkesan dengan nilai Kod kunci yang dikehendaki, memastikan simulasi acara yang boleh dipercayai dalam Safari.

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