R闪亮 - 启用键盘快捷键?

时间:2015-08-14 04:14:06

标签: r keyboard-shortcuts shiny

有没有办法公开键盘按下,如功能键F1-F10来控制闪亮,例如切换标签?

1 个答案:

答案 0 :(得分:5)

我能够提出一个半工作的解决方案,但闪亮确实有一些限制所以我打开了一个闪亮的bug。

以下是代码:

library(shiny)

jscode <- "
$(function(){ 
  $(document).keyup(function(e) {
    if (e.which >= 49 && e.which <= 57) {
      Shiny.onInputChange('numpress', e.which - 48);
    }
  });
})
"

runApp(shinyApp(
  ui = fluidPage(
    tags$script(HTML(jscode)),
    "Type a number to switch to that tab",
    tabsetPanel(
      id = "navbar",
      tabPanel("tab1", "Tab 1"),
      tabPanel("tab2", "Tab 2"),
      tabPanel("tab3", "Tab 3"),
      tabPanel("tab4", "Tab 4")
    )
  ),
  server = function(input, output, session) {
    observe({
      if (is.null(input$numpress)) {
        return()
      }
      updateTabsetPanel(session, "navbar", sprintf("tab%s", input$numpress))
    })
  }
))

以下是描述问题的闪亮问题的链接:https://github.com/rstudio/shiny/issues/928