javascript – 在R Shiny中使用操作按钮的Enter键

前端之家收集整理的这篇文章主要介绍了javascript – 在R Shiny中使用操作按钮的Enter键前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试编写一个 JavaScript函数来扩展R闪亮的 action button demo.我希望用户能够输入一个数字,只要点击操作按钮,并通过点击输入,当他们选择了数字输入表单. ui.R的代码是:
  1. shinyUI(pageWithSidebar(
  2. headerPanel("actionButton test"),sidebarPanel(
  3. 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.")
  4. ),mainPanel(
  5. verbatimTextOutput("nText")
  6. )
  7. ))

和server.R:

  1. shinyServer(function(input,output) {
  2. ntext <- eventReactive(input$goButton,{
  3. input$number
  4. })
  5.  
  6. output$nText <- renderText({
  7. paste(ntext(),input$goButton)
  8. })
  9. })

我在www /文件夹中的一个名为enter_button.js的文件中包含以下javascript:

  1. $("#number").keyup(function(event){
  2. if(event.keyCode == 13){
  3. $("#goButton").click();
  4. }
  5. });

但是,当我运行应用程序时,选择号码输入表单,然后点击进入操作按钮不增加,但如果点击它,它会增加.或者,我也测试了,只需点击进入文档的任何地方:

  1. $(document).keyup(function(event){
  2. if(event.keyCode == 13){
  3. $("#goButton").click();
  4. }
  5. });

所以我的怀疑是jQuery找不到#number元素.提前致谢!

解决方法

我可以使用jQuery is(“:focus”)函数来计算出来,我使用的代码是:
  1. $(document).keyup(function(event) {
  2. if ($("#number").is(":focus") && (event.keyCode == 13)) {
  3. $("#goButton").click();
  4. }
  5. });

猜你在找的JavaScript相关文章