3

Twitter ブートストラップ フレームワークから光沢のあるアプリにポップオーバーを追加したいと考えています。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>

ここに画像の説明を入力

何か案は?私はブートストラップ フレームワークにあまり詳しくありませんが、shiny に含まれているバージョンと関係があるのでしょうか?

4

1 に答える 1

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)))
于 2013-09-23T23:11:21.230 に答える