【问题标题】:get ID of element under cursor in shiny在闪亮的光标下获取元素的ID
【发布时间】:2020-02-20 18:48:22
【问题描述】:

在我的 Shiny 应用程序中,用户将鼠标悬停在一些由多个跨度组成的 HTML 输出上,如下所示:

<div id="mydiv">
    <span id="span1">foo</span>
    <span id="span2">bar</span>
</div>

我想获取用户当前鼠标悬停的 span 的 ID 作为闪亮的输入$... 我知道有很多 js 方法可以做到这一点,jquery get element where the cursor is,但我不知道如何与 Shiny 集成,例如通过使用shinyjs https://deanattali.com/shinyjs/extend

【问题讨论】:

    标签: shiny shinyjs


    【解决方案1】:

    这样,如果我理解正确的话:

    library(shiny)
    
    js <- "
    $(document).ready(function(){
      $('span').on('mouseover', function(evt){
        Shiny.setInputValue('span', evt.target.id);
      });
    })
    "
    
    ui <- basicPage(
      tags$head(tags$script(HTML(js))),
      tags$div(
        tags$span(id = "span1", "foo"),
        tags$span(id = "span2", "bar")
      ),
      br(),
      verbatimTextOutput("span")
    )
    
    server <- function(input, output){
      output[["span"]] <- renderPrint({
        input[["span"]]
      })
    }
    
    shinyApp(ui, server)
    

    【讨论】:

    • 这正是我的意思。
    • ... 但事实证明它仍然对我没有帮助,因为我没有完全描述问题:-(因为我的跨度是动态生成的 uiOutput 而不是普通的闪亮标签。确实页面的源 html 也没有显示。所以我不知道该怎么办。
    • @StevePowell 您应该使用产生此问题的应用打开一个新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 2018-08-05
    • 2018-04-18
    相关资源
    最近更新 更多