意外的粘贴事件行为
Unexpected Paste Event Behaviour
我创建了一个竞赛表格。我有4个文本框,每个文本框包含4个字符,然后组合起来创建一个16位代码。这一切都很顺利。
示例代码:LAME DKAJ XWNS YXRZ
我的问题是,我想监视粘贴事件(如果用户决定粘贴代码)。然而,源代码中的16位代码包含空格——我的目标是将这些空格中的代码拆分为4组,每组4个字符,并自动填充方框。
但是,在使用粘贴事件时,我会遇到意外的行为。例如,第一次将文本粘贴到框中时,值的console.log返回一个空白字符串。第二次粘贴会记录第一次应该记录的内容,依此类推。这表明它是在粘贴事件开始时记录的,而不是在代码粘贴到文本框中之后。我这样做是错的,还是故意的?
如果这是粘贴事件的预期行为,那么在粘贴事件完成后,我如何捕捉框中的文本?
https://jsfiddle.net/h4w946js/(检查控制台)
// JS CODE
function splitCode(){
var input = document.getElementById('part1');
input.addEventListener('paste', function(){
console.log(this.value);
})
}
要获得粘贴的文本,请使用以下代码:
input.addEventListener('paste', function(e) {
if (window.clipboardData && window.clipboardData.getData) { // IE
console.log(window.clipboardData.getData('Text'));
} else if (e.clipboardData && e.clipboardData.getData) { // other browsers
console.log(e.clipboardData.getData('text/plain'));
}
});
相关文章:
- 分派点击事件并保留击键修饰符
- 在事件上使用 jquery 时出现意外令牌
- GAS 单击事件处理程序导致 UI Web 应用中出现“意外错误”
- 意外的粘贴事件行为
- 错误:'这'对象不正确;在JQuery中单击事件-单击时的意外行为
- 如何在集合中的项上触发 jQuery 事件(意外的 jQuery 结果来自 $._data() 与集合的第一个元素)
- Knockout事件绑定意外行为
- 意外的Javascript DOM事件侦听器问题
- text区域焦点事件在Chrome中意外发生了很多次
- 编程单击事件在堆栈溢出站点上出现意外行为
- HTML Onclick事件(意外令牌})
- 意外的 Javascript onkeydown 事件和 document.write
- 如何防止在自定义事件调度系统中意外更改事件的属性?
- 意外访问“事件”;不同浏览器之间的变量
- 返回意外的事件监听器结果
- Javascript事件/rails应用程序中的意外结果
- 浏览器页面在javascript按钮点击事件后意外地滚动到最上面的位置
- JQuery mousedown和mouseup事件的意外行为
- angularjs中的表达式ng按键事件意外结束
- 使用意外的箭头键(键按下)事件和鼠标事件行为自动完成