Вы можете быть немного креативными со всеми существующими событиями «изменения». В зависимости от того, что вы хотите сделать на каждом мероприятии. Это просто для того, чтобы показать некоторые опции, очевидно, вы можете назначить любую функциональность, необходимую для каждого события.
let date = document.querySelector('input[type="date"]');
let myAwesomeFunction = function(event){
console.log('event.type: ', event.type, ' value: ', event.target.value );
};
date.addEventListener('change', myAwesomeFunction);
date.addEventListener('click', myAwesomeFunction);
date.addEventListener('keyup', myAwesomeFunction);
date.addEventListener('keydown', myAwesomeFunction);
date.addEventListener('blur', myAwesomeFunction);
date.addEventListener('focus', myAwesomeFunction);
date.addEventListener('focusout', myAwesomeFunction);
<input type="date">
К сожалению, вы не получите значение, пока не будут установлены все поля (день, месяц, год). (Пожалуйста, прокомментируйте, если у кого-то есть решение для этого)