R shiny - 启用键盘快捷键?
R shiny - enabling keyboard shortcuts?
有没有办法让键盘按键像功能键 F1-F10 一样来控制闪亮,例如切换标签页?
我能够想出一个半可行的解决方案,但 shiny 确实有一些限制,所以我用 shiny 打开了一个错误。
代码如下:
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))
})
}
))
这是描述问题的闪亮问题的link:https://github.com/rstudio/shiny/issues/928
有没有办法让键盘按键像功能键 F1-F10 一样来控制闪亮,例如切换标签页?
我能够想出一个半可行的解决方案,但 shiny 确实有一些限制,所以我用 shiny 打开了一个错误。
代码如下:
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))
})
}
))
这是描述问题的闪亮问题的link:https://github.com/rstudio/shiny/issues/928