我想知道是否有任何方式通過按Tab鍵以與TAB鍵原生實現相同的方式導航Dialog組件?按Enter鍵瀏覽GWT/GXT組件
0
A
回答
0
雖然我沒有通過處理keyDown和keyUp事件來嘗試它,但它肯定是可行的。儘管您可能無法以這種方式截取瀏覽器生成的對話框,而使用Window.alert()創建其他對話框。你如何創建對話框?
0
Tab鍵是瀏覽器做的改變重點工作 - 要添加什麼特殊的需求,你會發現,標籤適用於任何形式在互聯網上(除非出於某種原因...明確禁用)。
要使用回車鍵移動焦點,您必須監聽onkeydown事件(焦點通過選項卡更改也會發生onkeydown,因此選擇此項以保持一致性),檢查它是否爲Enter鍵,如果是,則將焦點移動到列表中的下一個元素。
典型的選項卡焦點行爲涉及到瀏覽器檢查頁面上元素的tabIndex,並找到頁面上的下一個元素具有更高的tabIndex或最近的後續兄弟/表親元素。我沒有一種方法可以輕鬆實現,所以我將專注於下一個小部件。
GXT 3的FormPanelHelper有一些方便的方法來查找所有領域 - 這個代碼可以作爲非GXT領域的基礎爲好。跟蹤對話框中找到的字段中的所有FocusEvent和BlurEvent,並使用它來始終跟蹤當前關注的字段。向對話框本身添加一個密鑰處理程序,以捕獲所有關鍵事件,並檢查是否有一個是輸入密鑰。如果是這樣,請確定當前焦點字段的下一個字段,並在其上調用.focus() - 這將觸發上述的焦點處理程序,以便您的簿記更新正確。
正如@ eliran米指出,考慮只留下tab鍵 - 不要在用戶瀏覽他們習慣的方式的方式獲得。增加新的功能可能是一件好事,但帶走預期的行爲可能不是。
相關問題
- 1. 發送「Enter」鍵到瀏覽器窗口
- 2. 使用Excel VBA自動化按鍵進入IE瀏覽器按Enter鍵搜索
- 3. 跨瀏覽器處理使用javascript按下「Enter」鍵
- 4. 按Enter鍵
- 5. 在文本框的按鍵事件中按下Enter鍵後取消Enter鍵
- 6. 按Enter鍵繼續
- 7. 按Enter谷歌瀏覽器中的火災變化事件
- 8. Android瀏覽器中某些按鍵沒有按鍵事件
- 9. 角JS 2 MVC 4.5在瀏覽器的URL按Enter鍵顯示404個
- 10. 按Enter鍵輸入qtp
- 11. 按Enter鍵跳過打印?
- 12. 按Enter鍵時停止'丁'
- 13. 當按下Enter鍵時
- 14. 如何獲得'enter'按鍵按鍵事件監聽器?
- 15. 如何防止按鍵上的ENTER鍵
- 16. 在瀏覽器中模擬按鍵?
- 17. 如何在ag-grid-react cellEditor組件中防止「Enter」鍵按下事件傳播?
- 18. 嵌入瀏覽器組件
- 19. 跨瀏覽器事件處理程序必須捕獲[ENTER]
- 20. 從嵌入式瀏覽器冒泡的按鍵事件
- 21. ContentEditable - 按Enter鍵生成P標籤
- 22. KendoUI Grid按下Enter鍵時保存
- 23. 防止WPF窗體按Enter鍵提交
- 24. C#:按下Enter鍵時更改DropDownList值
- 25. 按Enter鍵不適用於AngularJS
- 26. STDIN無需按ENTER鍵即可閱讀
- 27. Enter鍵觸發登錄按鈕
- 28. C++檢測用戶按下的ENTER鍵
- 29. 如何按下「Enter」鍵執行功能?
- 30. 按Enter鍵繼續或q退出C++
很可能,非常不推薦。用戶習慣使用Enter鍵執行一組定義的操作,導航不是其中之一。 – 2012-07-31 15:20:07