来源
zh.javascript.info/2-ui/4-forms-controls/3-events-change-input/article.md
问题描述
说明
原文引文如下:
例如,下面的代码阻止了所有的这样的事件,并显示出了我们所尝试剪切/拷贝/粘贴的内容……
但在下方所显示的代码中,却没有能够在alert中显示出用户剪切、拷贝的内容,仅有粘贴的内容。
<input type="text" id="input">
<script>
input.oncut = input.oncopy = input.onpaste = function(event) {
alert(event.type + ' - ' + event.clipboardData.getData('text/plain'));
return false;
};
</script>
说明配图
- 尝试复制文本框里的文字

- 尝试粘贴文字到文本框

解决
下面的改进代码可以解决在复制和粘贴时,alert可以显示相应操作的文本内容:
<input type="text" id="input" />
<script>
input.oncut = input.oncopy = function (event) {
event.clipboardData.setData('text/plain', event.target.value);
alert(event.type + ' - ' + event.clipboardData.getData('text/plain'));
return false;
};
input.onpaste = function (event) {
alert(event.type + ' - ' + event.clipboardData.getData('text/plain'));
return false;
};
</script>
补充
- 以上内容由于是在中文社区发现的,但本人又不是官方的维护者,所以希望从中文社区发出修改建议,并希望如果这部分意见被采纳后可以同步到其他语言的文档中。
- 对于初学者来说,有时候他们并不能很好的分辨出
onpaste 函数返回 false 的作用,建议添加相应的说明文字表示其和 event.preventDefault() 是等效的。
来源
问题描述
说明
原文引文如下:
但在下方所显示的代码中,却没有能够在
alert中显示出用户剪切、拷贝的内容,仅有粘贴的内容。说明配图
解决
下面的改进代码可以解决在
复制和粘贴时,alert可以显示相应操作的文本内容:补充
onpaste函数返回false的作用,建议添加相应的说明文字表示其和event.preventDefault()是等效的。