R shinydashboard: захват события щелчка на теле приборной панели - PullRequest
0 голосов
/ 22 апреля 2020

Как я могу зафиксировать события нажатия на корпусе shinydashboard?

Попытка приведена ниже. Он загружает приборную панель и выдает предупреждение, не нажимая на тело. Тогда нажатие на тело ничего не делает. Ожидаемое поведение заключается в том, что он будет предупреждать каждый раз, когда я нажимаю на тело.

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)

Одна идея состоит в том, чтобы дать телу идентификатор и использовать его с блестящим js :: onclick, однако я не уверен, как дать телу идентификатор.

1 Ответ

1 голос
/ 22 апреля 2020

Ваш прослушиватель событий должен быть функцией, а не выражением. Например,


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

}

Таким образом, каждый раз, когда происходит щелчок, эта функция вызывается.

...