ユーザーがマウスで有効な日付のみを選択できるように、キーボード入力を無効にしたいと考えています。
また、カレンダー内のクリックも検出したいと考えています。
そのために、私は答えのこの更新されたデモを持っています:
無効な日付のクリックに対して、クリック ハンドラーが空の文字列値を持つことに注意してください。
InputDatePreventKeyboard
HTML 属性でイベント ハンドラーを記述することはお勧めできません。
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/eval#Use_functions_instead_of_evaluating_snippets_of_codeを参照して
ください
デモの更新されたコードは次のとおりです。
<input type="date"
onchange="alert(window.event.type+' event handler for '+this.type+' noticed \''+this.value+'\'');"
onclick="alert(window.event.type+ ' event handler for '+this.type+ ' noticed \''+this.value+'\'');"
onkeydown="window.event.preventDefault();
alert(window.event.type+' event handler for '+this.type+' prevents keyboard input for value \''+this.value+'\'');"
onkeypress="window.event.preventDefault();
alert(window.event.type+' event handler for '+this.type+' prevents keyboard input for value \''+this.value+'\'');"
oninput="alert(window.event.type+' event handler for '+this.type+' noticed \''+this.value+'\'');" />