【发布时间】:2016-04-19 05:35:06
【问题描述】:
假设我的应用中有两个 actionButton,分别是左右箭头。它们用于在多个数据表和绘图中导航,并给出“左”和“右”的 id。我想要的是能够使用键盘上的箭头键进行导航。我以为我可以使用 JQuery 来简单地触发这些按钮上的点击事件,但这似乎并没有传达给 Shiny。
那么,我有其他方法可以做到这一点吗?这是我目前使用的 JQuery:
$(document.ready(function() {
$("body").keydown(function(e) {
if (e.which === 37) {
$("#plot-left").trigger("click");
} else if (e.which === 39) {
$("#plot-right").trigger("click");
}
});
});
在 Shiny 这边,我有这个代码:
increase_counter <- function() {
values$counter <- values$counter + 1
if (values$counter > values$cluster_count) values$counter <- 1
}
decrease_counter <- function() {
values$counter <- values$counter - 1
if (values$counter == 0) values$counter <- values$cluster_count
}
observeEvent(input$plot_left, {
decrease_counter()
})
observeEvent(input$plot_right, {
increase_counter()
})
编辑
JQuery 函数正在工作,这可以通过在 jquery 内部使用 console.log() 来证明。问题是触发的按钮按下没有被传回 Shiny 服务器,导致它运行它的命令。
这不是一个重要的功能,但它会很高兴完成。谢谢!
【问题讨论】: