所以我试图让它成为我的闪亮应用程序中的数据表滚动到顶部并在有人点击下一页后关注一个元素。下面的代码工作正常,但问题是焦点在绘制时是否有效(因为drawCallBack)
options=list(pageLength=50, drawCallBack = DT::JS(
'function (paginateScroll) {
$("html, body").animate({
scrollTop: 0
}, 300);
$("th:first-child").focus();
$(".paginate_button").bind("click", paginateScroll);
}'
))
我知道有一个名为页面(https://datatables.net/reference/event/page)的事件应该有效,但我似乎无法正确使用代码。任何人都可以帮助我吗?
答案 0 :(得分:2)
我不太明白你的目标是什么,但我发现你只想在页面被更改时运行JS,而不是在绘制它时。这是一些仅在页面更改时运行的JS。希望这会有所帮助:
library(shiny)
library(DT)
shinyApp(
ui = fluidPage(
mainPanel(DT::dataTableOutput("test")
)
),
server = function(input, output,session) {
output$test <- DT::renderDataTable({
mtcars
},
callback=DT::JS(
'table.on("page.dt",function() {
alert("Page has changed");
})
'
)
)
}
)