簡體   English   中英

如何在Javascript中觸發鍵盤事件?

[英]How to fire keyboard events in Javascript?

我給一個textbox一個值,然后給它一個焦點。

document.getElementById('textbox').value="abcd";
document.getElementById('textbox').focus();

然后,我正在創建一個鍵盤事件,並嘗試通過編寫以下代碼來觸發CTRL + A組合鍵(嘗試在textbox選擇textbox ):

var myEvent = document.createEvent('KeyboardEvent');

myEvent.initKeyEvent("keypress", true, true, window, true, false, false, false, 0, 97);

document.getElementById('textbox').dispatchEvent(myEvent);

但是上面的代碼沒有選擇文本框中的文本。

如何選擇創建鍵盤事件的文本?

您無法使用JavaScript模擬的按鍵來觸發瀏覽器按鍵的行為。 您只能觸發自己的功能。 這意味着什么,如果您添加了一個按鍵事件偵聽器,該事件偵聽器可以檢查某個按鍵是否被按下,然后執行某項操作,則可以觸發該行為,但是例如,當您打開瀏覽器時,無法將其拉到“查找”欄觸發ctrl + F。 那將是一個安全問題。

適當的方法是編寫自己的函數以選擇並在需要時將其觸發。

這應該可以滿足您的需求: 現場演示(單擊)。

<input type="text" id="my-input" value="Some text.">

JavaScript的:

var myInput = document.getElementById('my-input');

myInput.addEventListener('click', function() {
  this.focus();
  this.select();
});

var event = new Event('click');
myInput.dispatchEvent(event);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM