jer*_*roe 21 javascript r shiny
我正在尝试编写一个javascript函数来扩展R闪亮动作按钮演示.我希望用户能够通过单击操作按钮并在选择数字输入表单时按Enter键来输入数字.ui.R的代码是:
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")
)
))
Run Code Online (Sandbox Code Playgroud)
和server.R:
shinyServer(function(input, output) {
ntext <- eventReactive(input$goButton, {
input$number
})
output$nText <- renderText({
paste(ntext(), input$goButton)
})
})
Run Code Online (Sandbox Code Playgroud)
我在www /文件夹中的一个名为enter_button.js的文件中包含以下javascript:
$("#number").keyup(function(event){
if(event.keyCode == 13){
$("#goButton").click();
}
});
Run Code Online (Sandbox Code Playgroud)
但是,当我运行应用程序时,选择数字输入表单并点击输入操作按钮不会增加,但如果我点击它会增加.或者,我也测试了只需按下输入文档的任何位置:
$(document).keyup(function(event){
if(event.keyCode == 13){
$("#goButton").click();
}
});
Run Code Online (Sandbox Code Playgroud)
这很有效,所以我怀疑jQuery找不到#number元素.提前致谢!
jer*_*roe 23
我能够使用jQuery is(":focus")函数解决这个问题,我使用的代码是:
$(document).keyup(function(event) {
if ($("#number").is(":focus") && (event.key == "Enter")) {
$("#goButton").click();
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4095 次 |
| 最近记录: |