Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何为模块内的元素定义CSS_Jquery_Html_R_Shiny_Shinyjs - Fatal编程技术网

Jquery 如何为模块内的元素定义CSS

Jquery 如何为模块内的元素定义CSS,jquery,html,r,shiny,shinyjs,Jquery,Html,R,Shiny,Shinyjs,我尝试使用Shining模块在HTML中实现以下结果: 外部发光模块: p标签为黑色,当鼠标悬停在其上时,光标应改为指针,颜色应改为灰色 内部发光模块: p标签是蓝色的,当鼠标悬停在它上面时,光标应该变成指针,颜色应该变成红色 HTML版本的工作原理是: 文件 p{颜色:黑色;} 悬停{颜色:灰色;光标:指针;} #mymodulep{color:blue;} #mymodule p:hover{color:red;cursor:pointer;} 模块外的文本 模块内的文本 一些文本 我

我尝试使用Shining模块在HTML中实现以下结果:

外部发光模块: p标签为黑色,当鼠标悬停在其上时,光标应改为指针,颜色应改为灰色

内部发光模块: p标签是蓝色的,当鼠标悬停在它上面时,光标应该变成指针,颜色应该变成红色

HTML版本的工作原理是:


文件
p{颜色:黑色;}
悬停{颜色:灰色;光标:指针;}
#mymodulep{color:blue;}
#mymodule p:hover{color:red;cursor:pointer;}
模块外的文本

模块内的文本

一些文本

我试图为模块添加CSS,但似乎不起作用。我该怎么办?感谢您的帮助,谢谢

库(闪亮)
图书馆(胶水)
图书馆(shinyjs)

mymoduleUI有以下错误:

  • 正如r2evans所指出的,
    useShinyjs()
    语句缺失
  • 使用
    session$ns(“text”)
    而不是
    session$ns(“mymoduleUI”)
    ui输出的id
    'here-text'
    ,但原始版本返回
    'here-mymoduleUI'
  • 如果在创建元素的同时设置
    css
    ,它将不会应用,因为此时元素甚至不存在 如果这个模块有很多实例,每个实例都有不同的
    css
    ,我建议将
    css
    规则附加到
    标题中,如下所示。否则,如果只有一定数量的选项(例如:颜色:红色、蓝色、绿色),那么我会事先创建
    css类
    ,并使用
    class=…

    代码:
    mymodule省略了
    shinyjs::useShinyjs()
    ,因为您不需要javascript交互?(确实说它必须加载“所有其他'shinyjs'函数才能工作”。*耸耸肩*)我删除了那行,这行是不需要的。谢谢。你能举一个第二种方法的例子吗?
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <title>Document</title>
        <style>
            p{color:black;}
            p:hover{color:grey;cursor:pointer;}
    
            #mymodule p{color:blue;}
            #mymodule p:hover{color:red;cursor:pointer;}
    
        </style>
    </head>
    <body>
        <p>text outside module</p>
        <div id='mymodule'>
            <p>text inside module</p>
        </div>
    </body>
    </html>
        <p>some text</p>
    </body>
    </html>
    
    mymodule <- function(input,output,session,color,colorHover){
      id <- session$ns("text")
    
      css_text <- glue("
        $('head').append('<style type=\"text/css\">#{id} p{{color:{color}}} #{id} p:hover{{ color:{colorHover}}}</style>');
      ")
      print(css_text)
      output$text <- renderUI({
        tags$p("text inside module")
      })
    
      observe( {
        shinyjs::runjs(css_text)
      })
    }