我想在单击特定伪类的元素时传递给它的闪亮 ID。如果 UI 元素是在 Shiny 应用程序的 UI 部分创建的,则一切正常。但是,当 UI 在服务器端(由 )创建时,renderUI它不起作用。下面是可重现的示例。
library(shiny)
library(shinyjs)
ui <- fluidPage(
useShinyjs(),
fluidRow(
tags$div(id = "ui1", class = 'shiny-html-output shiny-bound-output',
tags$a(id = "ID1", class = "my-class", href = "#", 'Link 1')
),
uiOutput("ui2")
)
)
server <- function(input, output) {
output$ui2 <- renderUI({
tags$a(id = "ID2", class = "my-class", href = "#", 'Link 2')
})
shinyjs::runjs(
'$(document).ready(function(){
$(".my-class").click(function(){
alert($(this).attr("id"));
});
});')
}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)