首頁 > web前端 > js教程 > 主體

如何使用正確的鍵碼在 Safari 中模擬鍵盤事件?

Mary-Kate Olsen
發布: 2024-11-23 02:17:09
原創
851 人瀏覽過

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

如何使用JavaScript 在Safari 中調度鍵盤事件

在JavaScript 中,模擬鍵盤事件可能會出現問題,尤其是在Safari 中。當您嘗試設定特定的 keyCode 或事件物件中的哪些屬性時,就會出現此問題。相反,這些屬性預設為 0,阻礙了事件模擬邏輯的無縫執行。

要解決此問題,可靠的解決方案涉及利用 DOM 鍵盤事件等級 3 填充。透過實作這個polyfill,您可以利用增強的語法,讓您直接定義key、c​​har和shiftKey屬性。此外,它還支援「keyCode」、「charCode」和「which」等舊屬性的定義,從而提供與舊版瀏覽器的兼容性:

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})
登入後複製

透過利用polyfill,您現在可以有效地調度鍵盤事件具有所需的keyCode 值,確保Safari 中可靠的事件模擬。

以上是如何使用正確的鍵碼在 Safari 中模擬鍵盤事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板