将 ENTER 键重新定义为 TAB 键

Posted

技术标签:

【中文标题】将 ENTER 键重新定义为 TAB 键【英文标题】:Redefining the ENTER key into a TAB key 【发布时间】:2017-09-18 14:34:45 【问题描述】:

如何使 ENTER 像 TAB 一样,即当用户在输入字段中按 ENTER 时,光标会跳到下一个字段,就像按 TAB 键一样?

【问题讨论】:

【参考方案1】:

请看下面的例子:

library(shiny)
library(shinyjs)
# Define UI for application that draws a histogram
ui <- fluidPage(
   useShinyjs(),  
   sidebarLayout(
      sidebarPanel(
         textInput("txt1", "Text: "),
         textInput("txt2", "Text: ")         
      ),
      mainPanel()
   )
)

# Define server logic required to draw a histogram
server <- function(input, output) 
 observe(
   runjs("
  var inputs = $(':input').keypress(function(e) 
    if (e.which == 13) 
         e.preventDefault();
         var nextInput = inputs.get(inputs.index(this) + 1);
         if (nextInput) 
         nextInput.focus();
         
     
    );
  ")
 )  


# Run the application 
shinyApp(ui = ui, server = server)

javascript 来自 here,并包含在闪亮的 shinyjs 中。

【讨论】:

以上是关于将 ENTER 键重新定义为 TAB 键的主要内容,如果未能解决你的问题,请参考以下文章

Winform Enter键实现Tab键聚焦

当前按住 Alt/Ctrl 时,如何在 Alt+Tab/Ctrl+Tab 之后重新映射键?

GridView Tab/Enter键插入新行

GcSpreadSheet自定义Tab键选择

MFC 对话框中的 QWinWidget 不重新绘制或响应 Tab/箭头键

重新执行上一个命令的最快方法是?