Отключить ввод с клавиатуры в ярком диапазоне дат
Я хочу сделать простую вещь, но я не мог найти способ сделать это. Я хочу отключить возможность изменения диапазона дат с помощью клавиатуры. Пользовательский опыт был бы лучше, если бы изменение даты с помощью клавиатуры было невозможно. Если вы хотите выбрать дату, которая на 10 месяцев раньше, и вы нажимаете клавишу на клавиатуре, вы возвращаетесь к текущему месяцу, который вызывает беспокойство.
Вот пример кода.
library('shiny')
shinyApp(
ui = fluidPage(
fluidRow(
column(4,
dateRangeInput("dates", label = h3("Date range")),
verbatimTextOutput("datesOut")
)
)
),
server = function(input, output) {
output$datesOut <- renderPrint({ input$dates })
}
)
Я хочу сделать невозможным использование клавиатуры для изменения ввода. Я видел этот вопрос, связанный с этим, но я не знаю, как добавить onkeydown="return false"
в shiny::daterange()
Спасибо
1 ответ
Вот решение, которое я нашел для тех, кто заинтересован.
Мне просто нужно было добавить немного JavaScript. Я также закрываю указатель даты после выбора даты.
library('shiny')
shinyApp(
ui = fluidPage(
includeScript("code.js"),
fluidRow(
column(4,
dateRangeInput("dates", label = h3("Date range")),
verbatimTextOutput("datesOut")
)
)
),
server = function(input, output) {
output$datesOut <- renderPrint({ input$dates })
}
)
И code.js.
$(document).ready(function(){
$('#dates input').bsDatepicker({
autoclose: true
});
$("#dates").attr('onkeydown', 'return false');
});