问题描述
我经常在R传单中包含一些onRender()
JavaScript,以扩展某些功能。
$('.leaflet-control-layers-overlays').prepend('<label style=\"text-align:center\">My Epic Title</label>');
但是,如果我想在多个flexdashboard选项卡中包括多个传单地图,则仅当前处于活动状态的选项卡将运行其他javascript代码。下面的代码生成两个相同的传单地图,但是,只有一个地图运行JavaScript,这取决于刷新页面时选择了哪个选项卡。
有人可以解释如何确保所有标签都运行JavaScript代码吗?
---
title: "Leaflet Flexdashboard Javascript Multiple Tabs"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
---
```{r setup,include=FALSE}
library(flexdashboard)
library(leaflet)
library(dplyr)
library(htmlwidgets)
```
Tab 1
===========================================================
```{r}
leaflet(elementId = "map1") %>%
addTiles() %>%
addLayersControl(overlayGroups = c("test1","test2"),options = layersControlOptions(collapsed = F)) %>%
htmlwidgets::onRender("function(el,d){
$('#map1 .leaflet-control-layers-overlays').prepend('<label style=\"text-align:center\">My Epic Title</label>');
}")
```
Tab 2
===========================================================
```{r}
leaflet(elementId = "map2") %>%
addTiles() %>%
addLayersControl(overlayGroups = c("test1",d){
$('#map2 .leaflet-control-layers-overlays').prepend('<label style=\"text-align:center\">My Epic Title</label>');
}")
```
下面您只能看到一个选项卡具有JavaScript更改:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)