【发布时间】:2021-07-25 11:58:51
【问题描述】:
在下面的 Shiny 脚本中,当点击超链接时,javascript 函数会返回相关 'a' 标记的 id。但是,此 javascript 函数适用于页面上的所有链接。如果我想限制调用此函数的链接,该怎么做?
例如,在下面的脚本中,我只希望在单击前三个链接中的任何一个而不是最后两个链接时执行该函数。
请注意,这最终将用于具有数百行的动态生成表。
ui <- fluidPage(
tags$script(HTML(
"$(document).ready(function(){
$('body').on('click', 'a', function(evt){
Shiny.setInputValue('clicked_text', evt.target.id);
});
})"
)),
tags$a(href = "#", id = 1, "id is 1"),
br(),
tags$a(href = "#", id = 2, "id is 2"),
br(),
tags$a(href = "#", id = 3, "id is 3"),
br(),
tags$a(href = "#", id = 4, "id is 4, javascript function should be suppressed for this link"),
br(),
tags$a(href = "#", id = 5, "id is 5, javascript function should be suppressed for this link"),
textOutput("clicked_text"),
)
server <- function(input, output) {
output$clicked_text <- eventReactive(input$clicked_text, {
input$clicked_text
})
}
shinyApp(ui = ui, server = server)```
【问题讨论】:
标签: javascript r shiny onclick