Shr*_*ree 5 javascript r datatables shiny dt
R(版本 3.4.1) 我正在使用闪亮(版本 1.0.5)的 DT(版本 0.4)包,并且需要当用户再次单击它时,我想防止取消选择已选择的行。例如,在下图中,如果用户再次单击第 3 行,则不应取消选择它。但是,如果用户选择一个新行,则该新行将被选中,而较早的行将被取消选择。
我想我需要的是数据表完全忽略已选择的行上的点击事件。

我尝试使用shinyjs::onclick如下所示的方法,但并不理想,因为它似乎“取消选择并重新选择”所选行(蓝色突出显示消失并再次单击时重新出现)而不是阻止取消选择。
library(shiny)
library(DT)
library(shinyjs)
shinyApp(
  ui <- shinyUI(
    fluidPage(
      shinyjs::useShinyjs(),
      DTOutput("test")
    )
  ),  
  server <- shinyServer(function(input, output, session) {
    output$test <- renderDT({
      datatable(head(iris), selection = 'single')
    })    
    shinyjs::onclick("test",
               selectRows(dataTableProxy("test"), selected = input$test_rows_selected)
             )    
  })
)
我想知道是否有一种简单的方法可以做到这一点。谢谢!
pointer-events: none尝试在CSS中使用:
table.dataTable tbody tr.selected {
  pointer-events: none
}
唯一的限制是它会阻止当前选定行上的整个悬停/单击事件,因此您不能在具有可悬停/可单击 HTML 内容的列上使用它。
我希望它有帮助!