将自定义js文件添加到R html小部件输出?

时间:2017-08-17 09:49:00

标签: r plotly htmlwidgets

我正在使用R htmlwidget包,它以html的形式保存图表。函数htmlwidget::savewidget()将图表保存为html文件。现在我们需要将自定义js文件包含到htmlwidget::savewidget()生成的图形html文件中以进行其他操作,例如点击图表等... 例如,我的custom.js文件包含以下代码。

<script type="text/javascript">
$( document ).ready(function() {
$('#htmlwidget_container').on('plotly_click', function(data){
alert('You clicked this Plotly chart!');
 });
 });
</script>

1 个答案:

答案 0 :(得分:3)

您可以通过htmlwidget函数 onStaticRenderComplete()

添加javascript
//////////////////////////////////////////////////
                     javascript <- HTML(paste("

                       //here write your own javscript 

                         ", sep=''))

                      //pass this  javascript to prepend function and assign 
                         it to your graph object.

                    p <- prependContent(p,onStaticRenderComplete(javascript))

                   htmlwidgets::saveWidget(p, plotlyoutput, selfcontained = 
                   FALSE)

外部js文件的另一种方法是::

点击此链接

Embedding an R htmlwidget into existing webpage