Ответ 1
Вы можете использовать onkeydown
и запретить пользователю вводить значение.
<input type="date" onkeydown="return false" />
Я работаю над Chrome Packaged App, поэтому мой код должен работать только в Chrome.
У меня есть следующий ввод
<input type="date" />
https://jsfiddle.net/jhbo4q2k/
В Chrome это автоматически добавляет DatePicker. Я хотел бы только сохранить этот Datepicker и отключить ввод с клавиатуры.
Возможно ли это?
EDIT:
Принятый ответ работает. Просто будьте осторожны с этим
https://developer.chrome.com/extensions/tut_migration_to_manifest_v2#inline_scripts
Вы не можете использовать встроенные скрипты в упакованном приложении.
Вы можете использовать onkeydown
и запретить пользователю вводить значение.
<input type="date" onkeydown="return false" />
Для ReactJS вышеуказанные решения не работают
Я должен был сделать:
<input type="date" onKeyDown={(e) => e.preventDefault()} .... />
Привет, вы можете предотвратить всплывающее окно клавиатуры с помощью onfocus = "blur()". Поскольку, когда элемент имеет фокус, мы удалим его (нативная клавиатура не будет отображаться), однако с помощью щелчка мы можем продолжить нашу работу.
<input type="date" class="form-control" onfocus="blur()" onclick="dosomework()" name="some-name" id="some-id" >
<script>
function dosomework(){
alert('hi');
}
<script>
используйте это:
<input type="date" id="date_input">
с помощью jquery:
$("#date_input").on("keydown", function(e) {
e.preventDefault();
});