javascript - 为什么这个 onpaste 事件没有触发?

标签 javascript html

<分区>

我正在 try catch 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,它会起作用...

最佳答案

虽然这个错误(我认为这是一个错误)没有修复,但您可以改为检测日期输入是否为 changed使用onkeydown, onkeyup, onclick, onblur 等事件

关于javascript - 为什么这个 onpaste 事件没有触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38774964/

相关文章:

javascript - Angularjs未定义错误范围变量

javascript - html 两个输入值交换

javascript - 使用 jQuery 匹配表格单元格中的日期模式

javascript - 整合angular和joint js

javascript - 如何使用 Bootstrap 在 React 中显示模态对话框

jquery - 两个 Bootstrap 模式并排响应

javascript - CSS Circle动画显示百分比

javascript - ionic 将输入保存为变量

html - iPhone 上显示的响应式菜单出现问题(z-index?)

html - IndexedDB:何时关闭连接