首頁 > web前端 > js教程 > 如何在 Chrome 中正確指定按鍵模擬的按鍵代碼?

如何在 Chrome 中正確指定按鍵模擬的按鍵代碼?

Susan Sarandon
發布: 2024-10-18 13:13:02
原創
616 人瀏覽過

How to Correctly Specify Keycodes for Keydown Simulations in Chrome?

Chrome 中的按鍵模擬:指定正確按鍵的參數

要在 Chrome 中模擬給定文字區域元素上的按鍵事件,您應該使用 initKeyboardEvent 方法。但是,您提供的初始代碼收到了不同的結果 - Enter 鍵碼,而不是預期的 m 鍵碼。

要修正此問題,您需要重寫 keyCode 和 KeyboardEvent 物件的 which 屬性。以下是更新後的程式碼:

<code class="javascript">var keyEvent = document.createEvent('KeyboardEvent');

// Override both keyCode and which
Object.defineProperty(keyEvent, 'keyCode', {
  get: function() {
    return this.keyCodeVal;
  }
});
Object.defineProperty(keyEvent, 'which', {
  get: function() {
    return this.keyCodeVal;
  }
});

keyEvent.initKeyboardEvent('keydown', true, false, null, 0, false, 0, false, 77, 0);
keyEvent.keyCodeVal = 77;
inputNode.dispatchEvent(keyEvent);</code>
登入後複製

透過覆寫這兩個屬性,您可以確保瀏覽器收到正確的鍵碼值。此解決方案有效地模擬了指定按鍵的 keydown 事件,使您能夠實現所需的功能。

以上是如何在 Chrome 中正確指定按鍵模擬的按鍵代碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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