【发布时间】:2016-12-11 00:38:44
【问题描述】:
我正在尝试捕获 input[type="date"] 元素的粘贴事件。在 Chrome 中,您不能复制/粘贴到这种类型的元素中,因此作为一种解决方法,我试图将其包装在带有 onpaste 事件的 DIV 元素中。我遇到的问题是,如果您单击日期输入并按 CTRL+V 没有任何反应。但是,如果您先单击正文中的任何其他位置,然后单击日期输入并按 CTRL+V,则可以使用...
<div onpaste="alert('test')">
<input type="date">
</div>
演示:
https://jsfiddle.net/4qh31tn0/
编辑: 好的,原来onpaste 事件不必在DIV 上,它可以移动到INPUT 元素,但问题是持续存在。如果我加载 jsfiddle,单击输入并按 CTRL+V,没有任何反应。如果我事先单击INPUT 元素之外的某个位置,然后单击输入并按CTRL+V,它可以工作...
【问题讨论】:
-
这开始看起来像是 Chrome 中的一个错误,它只影响日期输入。
-
为什么您不使用 keyup 事件并将日期更改为动态文本并再次更改为日期。
-
我只想指出,尽管您可能已经知道这一点,
onpaste不是 HTML 规范的一部分。如果您在一个浏览器中使用它,则不太可能在另一种浏览器中使用。
标签: javascript html