我为比赛创建了一个表格。我有4个文本框,每个文本框有4个字符,然后组合起来创建一个16位数的代码。这一切都很好。
示例代码: LAME DKAJ XWNS YXRZ
我的问题是,我想监视粘贴事件(如果用户决定粘贴代码)。但是,源头的16位数代码包含空格 - 我的目的是在这些空格处拆分代码,给我4组4个字符并自动填充方框。
但是,在使用粘贴事件时,我会遇到意外行为。例如,第一次将文本粘贴到框中时,该值的console.log返回一个空字符串。第二个粘贴记录了第一个粘贴的内容,依此类推。这向我表明它是在粘贴事件开始时记录的,而不是在将代码粘贴到文本框之后。我做错了,还是打算这样做?
如果这是粘贴事件的预期行为,那么如何在粘贴事件完成后捕获框中的文本?
// JS CODE
function splitCode(){
var input = document.getElementById('part1');
input.addEventListener('paste', function(){
console.log(this.value);
})
}
答案 0 :(得分:2)
获取粘贴文本使用此代码:
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'));
}
});