这个问题是在我发现bsTooltip
不能与shinyjqui
为了使这个问题易于理解,我将解释到目前为止我所知道的。
我一直在开发一个包含数万行代码的相当大的闪亮应用程序,一次构建一个模块,并在它工作后将其放入主应用程序。
现在我遇到了一堵墙,但是其中 2 个功能似乎不兼容。我与 of 的作者交换了一些信息,shinyjqui
他告诉我有一个旧 bugbootstrap
导致它与 shinyjqui 不兼容:issue github
嗨@madmark81,这是jquery-ui 和bootstrap 之间不兼容的一个老错误。实际上,附加 jquery-ui.js 本身就足以在不加载 shinyjqui 的情况下破坏工具提示:
我真的很想结合jqui_draggable
和jqui_sortable
功能,但也为我的用户提供当你结束help messages
时的弹出窗口和其他元素hover
buttons
我正在考虑使用其中的消息制作一些div
或wellpanel
元素并使它们浮动,但此时我不知道如何使这样的解决方案起作用。
最近的经验告诉我,ggplot 的悬停消息不会导致shinyjqui 出现问题......所以也许有希望。但是,我自己不知道如何创建这种浮动效果。
如果有人知道如何实现浮动消息和 shinyjqui 的组合,我会很高兴听到它,并看看如何做到这一点
到目前为止,我构建的是wellPanel
将z-index
它100
放在其他元素之上的一个,但我需要弄清楚如何让它wellPanel
只出现在我想要链接到的hover
/mouseover
事件上。actionButton
仅带有工具提示的应用程序:
library("shiny")
library("shinyBS") #needed to use bsTooltip
shinyApp(
ui = fluidPage(
actionButton("Click", "Click Me"),
bsTooltip(id = "Click", title = "hello message", placement = "right", trigger = "hover", options= list(container = "body", delay = list(show=100, hide=150)))
),
server = function(input, output, session) {
}
)
应用程序中只有 shinyjqui 功能
library("shiny")
library("shinyjqui")
shinyApp(
ui = fluidPage(
jqui_resizable(
actionButton("Click", "Click Me")
)
),
server = function(input, output, session) {
}
)
带有组合的应用程序(以说明损坏的消息)和新的悬停方法理念
library("shiny")
library("shinyjqui")
library("shinyBS") #needed to use bsTooltip
## unload packages if needed for testing
# unload('shinyjqui')
# unload('shinyBS')
shinyApp(
ui = fluidPage(
h3("hello!"),
jqui_resizable(
actionButton("Click", "Click Me")
),
## this only works without loading shinyjqui
## use unload('shinyjqui') if you already loaded it
bsTooltip(id = "Click", title = "hello message", placement = "right", trigger = "hover", options= list(container = "body", delay = list(show=100, hide=150))),
## This is the alternative so far, but needs to be only shown on hover
uiOutput('hoverWell')
),
server = function(input, output, session) {
output$hoverWell <- renderUI({
wellPanel(h5('info message'), style = 'position:absolute; z-index:100; background-color: #e6f3f7; border-color: #339fff; left:85px; top:85px; height:40px;padding-top:0px')
})
}
)