如何捕获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/