我正在try 让DT表的左滚动位置变得shiny .

这是一个示例应用程序,说明我如何try 捕获它.

library(shiny)
library(DT)

js_save_scroll <- '$(document).on("shiny:connected", function(settings, json) {
  console.log("Test log");
  $("#tbl").on("click", function() {
    console.log("Table clicked");
    var table = $("#tbl");
    var scrollPos = $("#tbl").scrollLeft();
    console.log("Scroll position: " + scrollPos);
  });
});
'

df <- data.frame(matrix(rnorm(1000), nrow = 100, ncol = 50))

shinyApp(
  ui = fluidPage(
    tags$script(js_save_scroll),
    
    DTOutput('tbl')
    ),
  
  server = function(input, output) {
    output$tbl = renderDT(df)
  }
)

当我在浏览器中判断控制台时,scrollPos始终设置为零.

推荐答案

我认为这符合您正在寻找的内容.

library(shiny)
library(DT)

js_save_scroll <- '$(document).on("shiny:connected", function(settings, json) {
  $("#tbl").on("click", function() {
    var scroll_x = $(document).scrollLeft();
    var scroll_y = $(document).scrollTop();
    console.log("Scroll position: " + scroll_x + ", " + scroll_y);
  });
});
'

df <- data.frame(matrix(rnorm(1000), nrow = 100, ncol = 50))

shinyApp(
  ui = fluidPage(
    tags$script(js_save_scroll),
    
    DTOutput('tbl')
  ),
  
  server = function(input, output) {
    output$tbl = renderDT(df)
  }
)

Javascript相关问答推荐

试图为每支球队生成类似于2024/25年欧洲足联冠军联赛瑞士系统格式的独特比赛配对

如何使用JavaScript动态地将CSS应用于ToDo列表?

在时间轴完整日历中显示日期标题

使用typeof运算符获取对象值类型-接收字符串而不是数组

如何为GrapesJS模板编辑器创建自定义撤销/重复按钮?

我应该在redux reducer中调用其他reducer函数吗?

if/else JavaScript中的条件行为

字节数组通过echo框架传输到JS blob

仅针对RTK查询中的未经授权的错误取消maxRetries

在grafana情节,避免冲突的情节和传说

简单的PayPal按钮集成导致404错误

如何将react—flanet map添加到remixjs应用程序

第二次更新文本输入字段后,Reaction崩溃

映射类型定义,其中值对应于键

使用Nuxt Apollo在Piniastore 中获取产品细节

FireBase云函数-函数外部的ENV变量

FileReader()不能处理Firefox和GiB文件

在Java脚本中录制视频后看不到曲目

我无法在Api Reaction本机上发出GET请求

Plotly.js栏为x轴栏添加辅助文本