闪亮的数据表 - 页面加载后的焦点
Shiny Datatables - focus after page load
所以我正在努力做到这一点,以便在有人点击下一页后,我闪亮的应用程序中的数据表会滚动到顶部并聚焦在一个元素上。以下代码有效,但问题是焦点在绘制时有效(由于 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);
}'
))
我知道有一个名为 page (https://datatables.net/reference/event/page) 的事件应该有效,但我似乎无法获得正确的代码。谁能帮帮我?
我不太明白你的目标是什么,但我看到你想 运行 JS 只在页面发生变化时,而不是在绘制时。这是一些JS,当页面更改时只有运行s。希望这会有所帮助:
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");
})
'
)
)
}
)
所以我正在努力做到这一点,以便在有人点击下一页后,我闪亮的应用程序中的数据表会滚动到顶部并聚焦在一个元素上。以下代码有效,但问题是焦点在绘制时有效(由于 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);
}'
))
我知道有一个名为 page (https://datatables.net/reference/event/page) 的事件应该有效,但我似乎无法获得正确的代码。谁能帮帮我?
我不太明白你的目标是什么,但我看到你想 运行 JS 只在页面发生变化时,而不是在绘制时。这是一些JS,当页面更改时只有运行s。希望这会有所帮助:
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");
})
'
)
)
}
)