在R Shiny中,你可以使用shinyjs
包来获取当前聚焦元素的ID。以下是一个简单的示例:
首先,确保你已经安装了shinyjs
包。如果没有,请运行以下命令进行安装:
install.packages("shinyjs")
然后,在你的Shiny应用中添加以下代码:
library(shiny)
library(shinyjs)
ui <- fluidPage(
useShinyjs(), # 添加shinyjs支持
textInput("input1", "输入框1"),
textInput("input2", "输入框2"),
actionButton("button", "获取聚焦元素ID")
)
server <- function(input, output, session) {
observeEvent(input$button, {
focused_element_id <- getActiveElement()$name
showModal(modalDialog(
title = "聚焦元素ID",
easyClose = TRUE,
footer = NULL,
textOutput(focused_element_id)
))
})
}
shinyApp(ui, server)
在这个示例中,我们创建了一个包含两个文本输入框和一个按钮的简单界面。当用户点击“获取聚焦元素ID”按钮时,我们使用getActiveElement()
函数获取当前聚焦元素的ID,并在一个模态对话框中显示它。
getActiveElement()
函数返回一个包含聚焦元素信息的列表,其中$name
属性表示元素的ID。
这个方法适用于各种聚焦元素,如文本输入框、按钮等。你可以根据需要修改UI和服务器逻辑以满足你的需求。
参考链接:
领取专属 10元无门槛券
手把手带您无忧上云