Próbuję napisać funkcję javascript, aby rozszerzyć R błyszczące action button demo. Chciałbym, aby użytkownik mógł wprowadzić numer przez kliknięcie przycisku akcji i naciśnięcie klawisza Enter po wybraniu formularza wprowadzania liczb. Kod dla ui.R jest:Używanie klawisza Enter z przyciskiem czynności w R Shiny
shinyUI(pageWithSidebar(
headerPanel("actionButton test"),
sidebarPanel(
tags$head(tags$script(src = "enter_button.js")),
numericInput("number", "N:", min = 0, max = 100, value = 50),
br(),
actionButton("goButton", "Go!"),
p("Click the button to update the value displayed in the main panel.")
),
mainPanel(
verbatimTextOutput("nText")
)
))
i server.R:
shinyServer(function(input, output) {
ntext <- eventReactive(input$goButton, {
input$number
})
output$nText <- renderText({
paste(ntext(), input$goButton)
})
})
I obejmował następujące JavaScript w pliku o nazwie enter_button.js obrębie www/folderu:
$("#number").keyup(function(event){
if(event.keyCode == 13){
$("#goButton").click();
}
});
Jednak po uruchomieniu aplikacji wybierz numer formularza wejściowego i naciśnij klawisz Enter, aby przycisk akcji nie został zwiększony, ale po kliknięciu zwiększa się. Alternatywnie, ja też testowane tylko uderzanie wprowadzić w dowolnym miejscu w dokumencie z:
$(document).keyup(function(event){
if(event.keyCode == 13){
$("#goButton").click();
}
});
i że pracował, więc moje podejrzenie, że jQuery nie może znaleźć element #NUMBER. Z góry dziękuję!