js主動(dòng)觸發(fā)鍵盤按鍵 js網(wǎng)頁模擬鍵盤?
js網(wǎng)頁模擬鍵盤?沒有確切的方法,只有keypress事件可以模擬和綁定,事件可以通過按鍵觸發(fā)值。按鍵事件主要用于捕獲數(shù)字(注:包括shift數(shù)字符號(hào))、字母(注:包括大小寫)、鍵盤和除f1-12、s
js網(wǎng)頁模擬鍵盤?
沒有確切的方法,只有keypress事件可以模擬和綁定,事件可以通過按鍵觸發(fā)值。按鍵事件主要用于捕獲數(shù)字(注:包括shift數(shù)字符號(hào))、字母(注:包括大小寫)、鍵盤和除f1-12、shift、alt、Ctrl、insert、home、PgUp、delete、end、PgDn、ScrollLock、pause、NumLock、{菜單鍵}、{開始鍵}和方向鍵以外的其他ANSI字符。相關(guān)的事件有Keydown事件和Keyup事件。您可以在網(wǎng)上找到相關(guān)的鍵號(hào),例如:enter=13,shift=16。所以你知道哪個(gè)按鈕被按下了。
怎樣用js模擬鍵盤事件?
1. ie中沒有問題,只需創(chuàng)建一個(gè)事件對(duì)象,為對(duì)象的keycode屬性賦值,然后拋出它即可:2文檔.createEvent創(chuàng)建keyevents對(duì)象,然后通過initkeyevent方法初始化事件對(duì)象
initkeyevent引用:https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/initKeyEvent
3. Chrome/Safari/Opera
通過文檔.createEvent創(chuàng)建uievents對(duì)象,然后在初始化之后在對(duì)象上掛載鍵值。
Inituievent參考:https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/initUIEvent
Chrome和opera可以在使用前刪除keycode屬性O(shè)bject.defineProperty屬性方法再次為其賦值:
某些Android瀏覽器沒有效果。您需要使用以下方法:
最后,封裝的函數(shù)如下:
用法:假設(shè)模擬回車