我无法调整Set focus in Shiny app to a specific UI element on load上的代码,以便在页面加载时将焦点设置在textInput
上。最后一次尝试:
library(shiny)
js <- '
$(document).on("shiny:connected", function(){
alert("Loaded");
Shiny.setInputValue("loaded", 1);
Shiny.addCustomMessageHandler("focus", function(x){
$("#select ~ .input-control > .input").click();
});
});
'
ui <- fluidPage(
tags$head(tags$script(HTML(js))),
headerPanel("Focus", windowTitle = "Focus"),
fluidRow(
column(width = 2, class = "panel",
textInput("spot", "spot"),
actionButton("click", "Click")
),
column(width = 10,
textOutput("text")
)
)
)
server = function(input, output, session) {
observeEvent(input$loaded, {
session$sendCustomMessage("focus", list(NULL))
print("Loaded")
})
observeEvent(input$select, {
print("Selected")
})
observeEvent(input$click, {
session$sendCustomMessage("focus", list(NULL))
print("Clicked")
})
output$text <- renderText({
})
}
shinyApp(ui = ui, server = server)
字符串
1条答案
按热度按时间of1yzvn41#
您的
textInput
有inputId
“spot”,因此您必须在JS
中替换它。此外,在textInput
的情况下,使用select()
就足够了。字符串
的数据