R Shiny 键输入绑定(bind)

标签 r shiny

在 Shiny 应用程序中,是否可以有一个绑定(bind)来监听用户按下的键?

我对 JavaScript 不太熟悉,但我正在寻找类似的东西:

window.onkeydown = function (e) {
    var code = e.keyCode ? e.keyCode : e.which;
    alert(code);
};

然后在 server.R 中使用键输入,例如:
shinyServer(function(input, output) {

  output$text <- renderText({
    paste('You have pressed the following key:', input$key)
  })

  # ...

})

最佳答案

您可以为按键添加监听器。 Shiny.onInputChange可用于将按下的键绑定(bind)到 Shiny 的变量:

library(shiny)
runApp( list(ui = bootstrapPage(
  verbatimTextOutput("results"),
  tags$script('
    $(document).on("keypress", function (e) {
       Shiny.onInputChange("mydata", e.which);
    });
  ') 
)
, server = function(input, output, session) {

  output$results = renderPrint({
    input$mydata
  })
}
))

对于 keydown您可以替换的事件:
  tags$script('
    $(document).on("keydown", function (e) {
       Shiny.onInputChange("mydata", e.which);
    });
  ') 

关于R Shiny 键输入绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24973549/

相关文章:

r - 在 Shiny 模式中添加tinyMCE编辑器

r - 如何减小 Shiny 中的侧边栏面板文本大小?

r - 逐行对列表中的 xts 元素求和

r - 出了点问题;缺少所有ROC指标值:

r - 如何从列表列表转换为 R 中保留名称的列表?

r - ggplot2 合并颜色和填充图例

r - 如果变量与数据框的列具有相同的名称,则 dplyr 过滤器不起作用

r - 页面加载时 Shiny 的 submitButton 行为

R Shiny DT - 以编程方式输入搜索文本

r - 在向右滚动时修复 Shiny DataTable 中的列不起作用