如何使用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
)
问题内容: 我编写了一个SWT UI,它的主要功能是在StyledText控件中显示文本。我想为+ 添加一个处理程序,以便在按下该快捷方式时将焦点设置为搜索框。我尝试使用以下代码检测按键。 我期待在按+ 时看到以下输出: 但是,实际上,我实际上看到了以下内容。 我有两个问题: Display.addFilter(…)是添加全局快捷方式的最佳方法吗?我尝试了Display.addListener(…
本文向大家介绍Linux命令中Ctrl+z、Ctrl+c和Ctrl+d的区别和使用详解,包括了Linux命令中Ctrl+z、Ctrl+c和Ctrl+d的区别和使用详解的使用技巧和注意事项,需要的朋友参考一下 Ctrl+c,Ctrl+d,Ctrl+z在Linux中意义 Ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样. Ctrl+c是强制中断程序的执行。 Ctrl+z的是将任务中断,但
本文向大家介绍浅谈ctrl+c,ctrl+d,ctrl+z在linux中的意义,包括了浅谈ctrl+c,ctrl+d,ctrl+z在linux中的意义的使用技巧和注意事项,需要的朋友参考一下 ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样. ctrl+c是强制中断程序的执行。 ctrl+z的是将任务中断,但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用fg/b
问题内容: 我需要一个示例,该示例如何添加一个键盘处理程序来检测何时按下+ ,+ ,+ 。 我以前是通过菜单快捷键来完成此操作的,但是没有成功。 问题答案: 您可以将KeyListeners添加到任何组件(f)
问题内容: 我有一个使用线程并发出大量HTTP请求的python脚本。我认为正在发生的事情是,正在读取HTTP请求(使用urllib2)时,它正在阻塞并且没有响应以停止程序。有没有办法解决? 问题答案: 在Windows上,唯一确定的方法是使用。立即停止每个python脚本! (请注意,在某些键盘上,“中断”被标记为“暂停”。)
问题内容: 我试图获得一个+ 和+ + 绑定在tmux会话中工作(我也在使用PuTTY)。 我已经经历了必须重新编译PuTTY的痛苦,以便它能够正确发送和发送。使用+之后,我能够看到并分别发送给+ 和+ + 。有什么办法可以将这些绑定到tmux内部的下一个窗口和上一个窗口? 编辑:经过一些研究,我想我可能必须配置xterm来包括那些键码。知道我该怎么做吗? Edit2:所以我发现我可以检索info