当用户单击按钮时,我动态呈现日期输入字段html5,但不能访问事件侦听器,如change
下面是我的代码:const dateFunction = () => {
const y = document.getElementById("my-date").value;
const formattedY = moment(y).format('dddd, D MMMM, YYYY');
document.getElementById('serviceDate').innerText = formattedY;
document.getElementById('hideDate').value = y;
}
document.getElementById('my-date').addEventListener('change', dateFunction);
当单击<button>
元素时,似乎您正在尝试修改日期,那么为什么不将"click"
事件侦听器添加到按钮中呢?
var button = document.querySelector("#button");
button.addEventListener("click", dateFunction);
如果您正在使用<input type="date">
,并且您想要为每次更改日期选择器的值添加事件侦听器,请使用"input"
事件而不是"change"
事件,我发现它更可靠。
我已经解决了这个问题。在添加侦听器之前,我没有检查日期输入字段是否已经在dom中可用。
let onceOff = document.getElementById('once-off-date');
if (onceOff) {
onceOff.addEventListener('change', dateFunction);
}