2
下面最小的閃亮應用程序生成一個帶彈出窗口的html表格。它用閃亮的0.8正常工作,但它不適用於閃亮的0.9:只顯示彈出窗口的標題,而不是內容。此問題在shiny-discuss上尚未解決。也許這是由於引導或jQuery的,這已經在閃亮的0.9彈出窗口不能使用閃亮的0.9
tabl <- function(){
title <- "hello"
content <- "Goodbye"
out <- sprintf('<table style="width:300px">
<tr>
<td><a href="javascript: void(0)" data-toggle="popover" data-content="%s" data-html="true" data-animation="true" data-placement="bottom" data-trigger="hover" title="%s">Jill</a></td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
</table>
', title, content)
out <- tagList(
singleton(
tags$head(
tags$script("$(function() { $(\"[data-toggle='popover']\").popover(); })")
)
),
HTML(out)
)
return(out)
}
runApp(
list(
ui=pageWithSidebar(
headerPanel(""),
sidebarPanel(
),
mainPanel(
uiOutput("htmltable")
)
),
server=function(input,output,session){
output$htmltable <- renderUI({ tabl() })
})
)
謝謝jdharrison。我的上面的例子對你的提議可以正常工作,但還有一個問題:如果彈出窗口的內容是被動的,那麼每當它發生變化時它就不會再出現。 –
@StéphaneLaurent你可能需要在這種情況下設置一個觀察者。觀察執行JavaScript使用自定義消息或類似的東西。您可以控制觀察者何時使用優先級執行。 – jdharrison
謝謝,我會盡力的。否則,你是否認爲在shinyBS包中有適當的功能? (幾天前我已經發現了這個包) –