如何使用JavaScript检测Ctrl + V,Ctrl + C?
如何使用Javascript 检测ctrl
+ v
,ctrl
+ c
?
我需要限制粘贴到我的文本区域中,最终用户不应复制和粘贴内容,用户只能在文本区域中键入文本。
如何实现呢?
回答:
我只是出于兴趣而这样做。我同意这是不正确的事情,但我认为它应该是OP的决定......另外,代码可以很容易地扩展到增加功能,而不是把它拿走(如更先进的剪贴板,或Ctrl
+
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库。
编辑:由于蒂姆·唐纳(Tim Down)的建议,删除了3条多余的线(涉及e.which)(请参阅评论)
编辑:添加了对Macs的支持(用cmd
键代替ctrl
)
以上是 如何使用JavaScript检测Ctrl + V,Ctrl + C? 的全部内容, 来源链接: utcz.com/qa/401898.html