我有一個場景,我必須準備一個JS方法,其中Tab鍵應該觸發。即當功能被執行時標籤按鈕點擊應該被觸發。最好使用密鑰代碼。如何使用Keycode觸發鍵盤按鍵
0
A
回答
0
您可以調度鍵盤事件,但結果可能不如壓倒性的。
如下圖所示,您可以派發具有適當屬性的事件,但在某些瀏覽器中,這些值爲空,並且瀏覽器幾乎忽略它。你可以選擇按鈕並按下「Enter」來點擊它。它調度選項卡,但焦點不移動,並且關聯的事件不報告構造函數中設置的值。
在輸入中輸入顯示您應該得到的結果類型。在很多瀏覽器中試用。
function showEventProperties(evt) {
document.getElementById('details').innerHTML = ['type','key','code','keyIdentifier','charCode','which','keyCode'].map(function(key) {
return key + ': ' + evt[key];
}).join('<br>');
}
function sendTab(node) {
var evt = new KeyboardEvent('keypress', {
'view': window,
'bubbles': true,
'key': 'Tab',
'charCode': 9,
'keyCode': 9,
'which': 9
});
node.dispatchEvent(evt);
}
window.onload = function() {
document.addEventListener('keypress', showEventProperties, false);
}
<input onkeypress="showEventProperties(event)">
<br>
<button onclick="sendTab(this)">Do tab</button><button>Next button</button>
<p id="details"></p>
你也可以試試老initKeyEvent。
+0
非常感謝,但它不在IE中工作:(實際上我正在努力,因爲我真正的問題是不同的。 。請找到它的鏈接,如果更好的解決方案,你可以建議。 [鏈接](https://stackoverflow.com/questions/44062232/how-to-validate-shifttab-button-click-in-js) –
相關問題
- 1. 在不按鍵盤按鍵的情況下觸發鍵盤按鍵事件
- 2. 如何觸發鍵盤的'Enter'鍵
- 3. Android:如何觸發軟鍵盤上的任何按鍵事件?
- 4. 觸發多個按鍵來激發鍵盤快捷鍵jquery
- 5. 如何使用javascript觸發鍵盤快捷鍵(ctrl + alt + R)?
- 6. 使用jQuery觸發按鍵
- 7. 如何觸發按鍵
- 8. 觸發鍵盤事件,WebKit的鍵盤不會觸發事件
- 9. 觸發按鍵
- 10. JavaScript keyCode - 使用外部鍵盤佈局點擊哪個鍵
- 11. 按鈕和鏈接鍵盤觸發
- 12. QListWidget :: itemSelectionChanged()使用鍵盤觸發兩次
- 13. 如何在不使用鍵盤的情況下按下鍵盤上的按鍵?
- 14. 如何觸發水平方向鍵盤?
- 15. 如何禁用所有鍵盤按鍵?
- 16. 打開鍵盤時如何使用鍵盤移動按鈕
- 17. 使用鍵盤「按下」TButtonedEdit按鈕使用鍵盤
- 18. 如何用jquery觸發點擊按鍵
- 19. 按下軟鍵盤上的回車鍵不觸發事件
- 20. çSDL鍵盤事件SDL_KEYUP當觸發鍵被按下
- 21. 用按鍵觸發警報
- 22. 使用虛擬鍵盤和jQuery來觸發flash遊戲的按鍵
- 23. 鍵盤錯誤聲音捕捉KeyCode時
- 24. 如何使用libGDX使用鍵盤按鍵移動精靈?
- 25. Javafx combobox changeListener當使用鍵盤箭頭鍵時觸發動作
- 26. JQuery:鍵盤導航,使用箭頭鍵觸發鏈接
- 27. jquery禁用鍵盤按鍵
- 28. 如何按下鍵盤上的鍵而不使用Objective-C中的鍵盤?
- 29. 如何觸發Android鍵盤上的shift鍵?
- 30. 如何在JavaScript中觸發鍵盤快捷鍵功能?
[在JavaScript中觸發鍵盤事件]的可能重複(http://stackoverflow.com/questions/961532/firing-a-keyboard-event-in-javascript) – JYoThI
「選項卡按鈕單擊」沒有任何意義。你的意思是點擊一個按鈕應該派發一個[*鍵盤事件*](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/KeyboardEvent),它使用與*鍵*值相同的Tab鍵? *鍵*使用「Tab」,*使用'9'。 – RobG
是的,功能應該執行或調度曾經提供的鍵碼 –