javascript - R Shiny 仪表板: capture click event on dashboard body

标签 javascript r shinydashboard shinyjs

如何捕获shinydashboard主体上的点击事件?

尝试如下。它加载仪表板并发出警报,而无需单击主体。然后点击 body 没有任何反应。预期的行为是每次我点击主体时它都会发出警报。

library(shiny)
library(shinydashboard)
library(shinyjs)

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody(useShinyjs())
)

server <- function(input, output) { 

  shinyjs::runjs("document.body.addEventListener('click', alert('hello'));")  

  }

shinyApp(ui, server)

一个想法是为主体提供一个 id 并将其与shinyjs::onclick 一起使用,但是我不确定如何为主体提供一个 id。

最佳答案

您的事件监听器应该是一个函数,而不是一个表达式。例如


  shinyjs::runjs("document.body.addEventListener('click', function() {alert('hello')});")  

}

这样每次点击发生时,该函数都会被调用。

关于javascript - R Shiny 仪表板: capture click event on dashboard body,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61354891/

相关文章:

r - 将大型 shinydashboard 应用拆分成多个部分

javascript - 通过为特定的 div 标签使用 javascript 创建表单

r - 根据R中第二个数据框中的日期范围对数据框中的数据进行分组

r - 查找一个字符串是否出现在另一个字符串之前

r - 使用 "SelectizeInput"在 R Shiny Dashboard 侧边栏上生成警告消息

r - 如何在 Shiny 的仪表板中制作信息按钮

c# - 禁用 Javascript 时在 ASP 中隐藏占位符

javascript - npm 不仅加载我在 package.json 中声明的包

javascript - JQuery 在 JS 中不显示

regex - R 中的条件字符串拆分(使用 tidyr)