Как я могу вернуть идентификатор сфокусированного элемента в R Shiny?

У меня есть серия textInputs в R Shiny, и я хочу получить и отобразить идентификатор текстового поля с фокусом, то есть того, в котором мигает курсор, в textOutput.

Я пытаюсь сделать это в JavaScript с небольшим успехом.

Это то, с чем я работал:

ui <- fluidPage(
  tags$script(' Shiny.setInputValue("focused.element", $(document.activeElement )) '),
  textInput(inputId = "text1", label = NULL, value = ""),
  textInput(inputId = "text2", label = NULL, value = ""),
  textInput(inputId = "text3", label = NULL, value = ""),
  textInput(inputId = "text4", label = NULL, value = ""),
  textOutput("output1")
)

server <- function(input, output, session) {
  output$output1 <- renderText({ input$focused.element })
}

Я хотел бы, чтобы это отображало «текст1», когда курсор находится в первом текстовом вводе, текст2, когда он находится во втором, и т. д.

Прямо сейчас текст из output1 не отображается. Любая помощь будет оценена по достоинству!

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
221
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Этот ?

library(shiny)
ui <- fluidPage(
  tags$script('$(document).ready(function(){ $("input").on("focus", function(e){ Shiny.setInputValue("focusedElement", e.target.id);}); }); '),
  textInput(inputId = "text1", label = NULL, value = ""),
  textInput(inputId = "text2", label = NULL, value = ""),
  textInput(inputId = "text3", label = NULL, value = ""),
  textInput(inputId = "text4", label = NULL, value = ""),
  textOutput("output1")
)

server <- function(input, output, session) {
  output$output1 <- renderText({ input$focusedElement })
}

shinyApp(ui, server)

Другие вопросы по теме