Javascript 是否启用粘贴到输入[类型=';日期';]?
在Chrome中似乎无法粘贴Javascript 是否启用粘贴到输入[类型=';日期';]?,javascript,angularjs,date,paste,Javascript,Angularjs,Date,Paste,在Chrome中似乎无法粘贴。我尝试过各种格式,包括yyyyy-MM-dd-MM/dd/yyyy,甚至一次粘贴一个组件(仅在月份或仅在年份),但什么都没有发生。我在一个angular应用程序中工作,我甚至尝试设置一个onpaste事件,将粘贴的内容推送到angular模型中,但它从未触发 以下是我所拥有的: HTML 我也导入datejs 目前,我从未在粘贴事件侦听器中点击过调试器语句。不会抛出任何错误,并且似乎没有在视图或模型中输入任何值 如何允许将日期粘贴到此输入中?我在2016年遇到了同样
。我尝试过各种格式,包括yyyyy-MM-dd-MM/dd/yyyy,甚至一次粘贴一个组件(仅在月份或仅在年份),但什么都没有发生。我在一个angular应用程序中工作,我甚至尝试设置一个onpaste
事件,将粘贴的内容推送到angular模型中,但它从未触发
以下是我所拥有的:
HTML
我也导入datejs
目前,我从未在粘贴事件侦听器中点击过调试器语句。不会抛出任何错误,并且似乎没有在视图或模型中输入任何值
如何允许将日期粘贴到此输入中?我在2016年遇到了同样的问题,并发现可以通过将输入包装到其他元素中来解决此问题
<div id="wrapped" onpaste="alert(11)">
<input type="date" id="input1">
</div>
知道div可以用于“粘贴”事件,就可以修改输入数据。我的解决方法如下:
const input = document.getElementById('my-input');
document.querySelector('body').addEventListener('paste', (e) => {
if (document.activeElement !== input) {
return;
}
const value = e.clipboardData.getData('text');
input.value = value;
});
<div id="wrapped" onpaste="alert(11)">
<input type="date" id="input1">
</div>
const input = document.getElementById('my-input');
document.querySelector('body').addEventListener('paste', (e) => {
if (document.activeElement !== input) {
return;
}
const value = e.clipboardData.getData('text');
input.value = value;
});