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})
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!