gpt4 book ai didi

javascript - onpaste 事件替换文本框中的文本

转载 作者:行者123 更新时间:2023-11-28 09:25:51 25 4
gpt4 key购买 nike

我对 JS 中的 onpaste 事件有疑问。我需要将剪贴板内容分成两半,将其复制到两个文本框中。我正在使用下面的代码:

function paste(){
document.getElementById("txt1").value = clipboarddata.substr(0,2);
document.getElementById("txt2").value = clipboarddata.substr(2,4);
}

此函数在 onpaste 事件上调用。内容被粘贴,但在该函数之后,整个字符串再次粘贴到粘贴数据的框中。

我可以通过使用 cancelbubble 等在 paste() 函数中取消事件来取消事件吗?

最佳答案

我知道这有点晚了,但对于任何寻找此内容的人来说,这是一种方法:

完成必须做的事情后,您必须返回 false; 这将阻止默认处理程序运行。

这是一个演示:

HTML

<textarea id="txt1"></textarea>
<textarea id="txt2"></textarea>

Javascript

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.
};

jsfiddle demo

关于javascript - onpaste 事件替换文本框中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14424715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com