我想将twitter bootstrap框架中的popovers添加到一个闪亮的应用程序中。一切都很好,除了
html: true
标记没有效果:
shinyUI(pageWithSidebar(
headerPanel("Header"),
sidebarPanel(
actionButton("btn-1", "Go!")
),
mainPanel(
tags$head(
tags$script('
$(document).ready(function(){
$("#btn-1")
.popover({html: true,
title: "Button 1",
content: "<h1>Press</h1> for some action",
trigger: "hover"
});
});
')
)
)
))
与纯HTML / JS(没有闪亮部分)相同的代码才能正常工作:
<script>
$(document).ready(function(){
$("#btn-1")
.popover({html: true,
title: "Button 1",
content: "<h1>Press</h1> for some action",
trigger: "hover",
delay: {show: 100, hide: 100}
});
});
</script>
<button id="btn-1" type="submit" class="btn">Submit</button>
有什么想法吗?我对bootstrap框架不太熟悉,但它可能与闪亮包含的版本有关吗?
答案 0 :(得分:4)
tags
环境执行HTML转义。为了防止在您的html字符串中出现这种情况,您需要使用HTML
标记它。
yourStr <- '$(document).ready(function(){
$("#btn-1")
.popover({html: true,
title: "Button 1",
content: "<h1>Press</h1> for some action",
trigger: "hover"
});
});
'
并在脚本中使用以下内容
tags$head(tags$script(HTML(yourStr)))