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