我这么做是出于兴趣。我同意这样做不对,但我认为这应该是OP的决定.此外,代码可以很容易地扩展到添加功能,而不是删除它(就像一个更高级的剪贴板,或者克特+s触发服务器端保存)。
$(document).ready(function() { var ctrlDown = false, ctrlKey = 17, cmdKey = 91, vKey = 86, cKey = 67; $(document).keydown(function(e) { if (e.keyCode == ctrlKey || e.keyCode == cmdKey) ctrlDown = true; }).keyup(function(e) { if (e.keyCode == ctrlKey || e.keyCode == cmdKey) ctrlDown = false; }); $(".no-copy-paste").keydown(function(e) { if (ctrlDown && (e.keyCode == vKey || e.keyCode == cKey)) return false; }); // Document Ctrl + C/V $(document).keydown(function(e) { if (ctrlDown && (e.keyCode == cKey)) console.log("Document catch Ctrl+C"); if (ctrlDown && (e.keyCode == vKey)) console.log("Document catch Ctrl+V"); });});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><h3>Ctrl+c Ctrl+v disabled</h3><textarea class="no-copy-paste"></textarea><br><br><h3>Ctrl+c Ctrl+v allowed</h3><textarea></textarea>
另外,为了澄清,这个脚本需要jQuery库。