Блестящий: как изменить цвет фона кнопки, когда она нажата - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь изменить цвет кнопки, используя css в R Shiny. Стиль по умолчанию bootstrap, кажется, окрашивает кнопку в светло-серый цвет при нажатии (т.е. во время щелчка), но я хочу, чтобы он был зеленым. Я считаю, что это делается с помощью селектора псевдокласса :active, но он не работает: кнопка все еще светло-серая при нажатии, но салатовый цвет кнопки работает.

ui.R

ui <- fluidPage(
        theme = "style.css",
        actionButton("my-button", "Click me")
    )

стиль. css

.btn, .btn:hover {
  background-color: lime;
}

.btn:active {
  background-color: green;
}

Ответы [ 2 ]

1 голос
/ 26 мая 2020

Мы можем использовать shinyjs для этого:

library(shiny)
library(shinyjs)

ui <- fluidPage(
    useShinyjs(),
    actionButton("my_button", "Click me")
)

server <- function(input, output, session) {

    observeEvent(input$my_button,{
        runjs('document.getElementById("my_button").style.backgroundColor = "red";')
    })

}

shinyApp(ui, server)

enter image description here

или мы также можем использовать пакет shinyBS для обновления кнопка:

library(shiny)
library(shinyBS)

ui <- fluidPage(
    bsButton('my_button', "Click me")
)

server <- function(input, output, session) {

    observeEvent(input$my_button,{
        updateButton(session,'my_button',style = "warning")
    })

}

shinyApp(ui, server)

enter image description here

0 голосов
/ 26 мая 2020

Попробуйте использовать :focus вместо :active

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...