나는 작은 질문이 있었다. 나는 이것을 많이 연구하려고 노력했지만 운이 없었습니다. R-shiny가 버튼과 같은 요소를 두 번 클릭하는 방법이 있습니까?더블 클릭 R - shiny
6
A
답변
12
여기 한 가지 방법이 있습니다. 핵심은 클라이언트 측 (예 : ui)에서 dblclick
이벤트를 감지 한 다음 Shiny.onInputChange
을 호출하여 R 변수의 값을 업데이트하는 것입니다. 그러면이 변수를 서버에서 선택할 수 있습니다.
버튼을 두 번 클릭하면 어떻게됩니까?
- 값이 1
- 씩 증가되는 증분 값은 변수
x
를 업데이트하기 위해 사용된다. - 서버가 변경을 감지합니다.
x
- 서버가
textOutput
을 업데이트합니다.
library(shiny) ui = bootstrapPage( tags$button(id = 'mybutton', 'button', class='btn btn-primary', value = 0), textOutput('x'), # when button is double clicked increase the value by one # and update the input variable x tags$script(" $('#mybutton').on('dblclick', function(){ var val = +this.value this.value = val + 1 Shiny.onInputChange('x', this.value) console.log(this.value) }) ") ) server = function(input, output, session){ output$x <- renderText({ input$x }) } runApp(list(ui = ui, server = server))
0
나는 아래의 의견에 따라 내 대답을 업데이 트했습니다. 여기에서는 더블 클럭과 일반 클릭을 구별하기 위해 0.2 초의 시간차 임계 값을 사용했습니다. 내 응용 프로그램에서 약간 다른 접근 방식을 사용했습니다. 나는 버튼이 2로 나눌 수 있는지 없는지 확인함으로써 얼마나 많은 시간 동안 버튼을 눌렀는지 확인한다.
library(shiny)
t1 <<- Sys.time()
ui =fluidPage(
actionButton("my_button", "Dont Touch it!"),
mainPanel(textOutput("x"))
)
server = function(input, output, session){
my_data <- reactive({
if(input$my_button == 0)
{
return()
}
if(input$my_button%%2!=0)
{
t1 <<- Sys.time()
}
if(input$my_button%%2==0 & (Sys.time() - t1 <= 0.2))
{
"You pushed the button twice!"
}
})
output$x <- renderText({my_data()})
}
runApp(list(ui = ui, server = server))
관련 문제
- 1. Shiny (R)
- 2. R Shiny-Contingency 테이블
- 3. R Shiny : ggplot의 툴팁
- 4. 우분투의 R - shiny 서버
- 5. 조건부 RenderUI R shiny
- 6. 더블 클릭
- 7. 단추 더블 클릭 이벤트
- 8. Shiny R Studio에서 애니메이션 재설정
- 9. 라텍스, RenderTable in Shiny, R
- 10. R Shiny 및 p5.js
- 11. Shiny R App에서 read.xlsx 사용
- 12. Shiny (R)에서 png 다운로드
- 13. R Shiny Tabsets 동시 처리
- 14. R Shiny dataInput autoclose 옵션
- 15. R Shiny - 선택자가없는 숫자 입력
- 16. R shiny conditionalPanel 출력 값
- 17. 더블 통합 R
- 18. Shiny Datatable의 클릭 가능한 링크
- 19. R Shiny 응용 프로그램에 HTML 링크 넣기
- 20. tabPanel 입력 값을 초기화합니다. Shiny R
- 21. 더블 클릭 내가 jQuery를 사용하여 더블 클릭 이벤트를 구현하고 싶습니다
- 22. 안드로이드 - 더블 클릭 카메라
- 23. Windows 더블 클릭 기간
- 24. 더블 콜 jquery 클릭
- 25. 더블 클릭 광고 센터에
- 26. 더블 클릭 jqgrid 행
- 27. TreeView 더블 클릭 이벤트
- 28. setTimeout 더블 클릭 문제
- 29. 더블 클릭, theJit
- 30. silverlight dataagrid에서 더블 클릭
AFAIK 두 번의 단일 클릭은 두 번 클릭과 동일하지 않습니다. – Ramnath
@Ramnath "double click"시간 임계 값을 포함하도록 답변을 업데이트했습니다. –