背景
我正在构建一个使用两个 HTML5type="date"
输入元素的日期范围选择器:
如果用户使用事件选择与先前选择的日期不同的日期,我可以检测到日期选择器何时关闭change
。但是,如果用户选择相同的日期,则输入值不会改变,Firefox 不会触发change
事件或input
事件。
示例代码
var dateInput = document.querySelector('[name="dateBegin"]');
var debugEl = document.querySelector('#debug');
dateInput.addEventListener('click', function(event){
debugEl.innerHTML += '<br>Event fired: click';
});
dateInput.addEventListener('input', function(event){
debugEl.innerHTML += '<br>Event fired: input';
});
dateInput.addEventListener('change', function(event){
debugEl.innerHTML += '<br>Event fired: change';
});
<input type="date" name="dateBegin">
<div id="debug"></div>
问题
有没有办法检测 HTML5 日期选择器何时因用户交互而关闭,即使输入的值没有改变?