我在JS中的onpaste事件有问题。 我需要通过将剪贴板内容分成两半来将剪贴板内容复制到2个文本框中。我正在使用下面的代码。
function paste(){
document.getElementById("txt1").value = clipboarddata.substr(0,2);
document.getElementById("txt2").value = clipboarddata.substr(2,4);
}
在onpaste
事件上调用此函数。内容被粘贴,但在函数之后,整个字符串再次粘贴到粘贴数据的框中。
我是否可以通过使用cancelbubble
等取消事件来取消粘贴()函数中的事件。 ??
提前致谢
答案 0 :(得分:0)
我知道这有点晚了,但对于那些寻找此事的人来说,这是一种方法:
完成所需操作后,您必须return false;
这将阻止默认处理程序运行。
这是一个演示:
<textarea id="txt1"></textarea>
<textarea id="txt2"></textarea>
var myElement = document.getElementById('txt1');
myElement.onpaste = function (e) {
var pastedText = undefined;
if (window.clipboardData && window.clipboardData.getData) { // IE
pastedText = window.clipboardData.getData('Text');
} else if (e.clipboardData && e.clipboardData.getData) {
pastedText = e.clipboardData.getData('text/plain');
}
document.getElementById("txt1").value = pastedText.substr(0, pastedText.length / 2);
document.getElementById("txt2").value = pastedText.substr(pastedText.length / 2 + 1, pastedText.length);
return false; // Prevent the default handler from running.
};