Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取用户从网页复制的文本_Javascript_Html - Fatal编程技术网

Javascript 获取用户从网页复制的文本

Javascript 获取用户从网页复制的文本,javascript,html,Javascript,Html,使用JavaScript,是否可以检测用户何时从网页复制文本,然后将复制的文本存储在数组中,而不覆盖CTRL+V组合键,也不阻止复制文本 换句话说,是否可以在不覆盖该组合键的默认行为的情况下检测组合键?您可以轻松获取复制和粘贴击键,如何处理它们取决于您自己 document.addEventListener("keyup", function(e) { if (e.ctrlKey && e.keyCode == 67) { console.log("CTRL + C"

使用JavaScript,是否可以检测用户何时从网页复制文本,然后将复制的文本存储在数组中,而不覆盖CTRL+V组合键,也不阻止复制文本


换句话说,是否可以在不覆盖该组合键的默认行为的情况下检测组合键?

您可以轻松获取复制和粘贴击键,如何处理它们取决于您自己

document.addEventListener("keyup", function(e) {
  if (e.ctrlKey && e.keyCode == 67) {
    console.log("CTRL + C");
  }

  if (e.ctrlKey && e.keyCode == 86) {
    console.log("CTRL + V");
  }
});

您可以轻松地抓取复制和粘贴击键,如何处理它们取决于您自己

document.addEventListener("keyup", function(e) {
  if (e.ctrlKey && e.keyCode == 67) {
    console.log("CTRL + C");
  }

  if (e.ctrlKey && e.keyCode == 86) {
    console.log("CTRL + V");
  }
});
在jQuery中使用keyup侦听器并获取事件参数ctrlKey和keyCode,然后通过window.getSelection检索所选文本:

除非您在侦听函数中返回false,或者在jQuery中返回preventDefault,否则不会干扰按键的默认行为,例如,preventDefault,它实际上和在代码中的作用与return false相同。

在jQuery中使用keyup侦听器并获取事件参数ctrlKey和keyCode,然后通过window.getSelection检索所选文本:


除非您在侦听函数中返回false,或者在jQuery中返回preventDefault,否则不会干扰按键的默认行为,例如,preventDefault,它实际上和在代码中的作用与return false相同。

我使用过一个库,该库捕捉复制/剪切事件并存储每一段复制/剪切文本:。它不会干扰正常的复制/剪切行为,它允许您为复制/剪切事件设置处理程序,并且您可以检索用户复制/剪切的所有文本的整个数组

目前,只有当用户同时按下两个键时,同时按下“ctrl”和“c”键的公认答案才有效。Chrome或者Windows对于ctrl+c所涉及的时间安排似乎更为宽容,因为在点击c之前点击ctrl仍然可以成功复制数据。即使Chrome再次出现,也可能是Windows的东西说您已经成功复制了,JavaScript事件将无法捕获该操作

用法示例:

CopyMe.setCopyCallback(function(copiedText){
  // Do something here when text is copied
  alert(copiedText);
});
CopyMe.setCutCallback(function(cutText){
  // Do something here when text is cut
  alert(cutText);
});
var allCopiedCutText = CopyMe.getAllCopiedOrCutText();
var lastCopiedCutText = CopyMe.getLastCopiedOrCutText();

我曾在一个库中工作,该库捕获复制/剪切事件并存储每一段复制/剪切的文本:。它不会干扰正常的复制/剪切行为,它允许您为复制/剪切事件设置处理程序,并且您可以检索用户复制/剪切的所有文本的整个数组

目前,只有当用户同时按下两个键时,同时按下“ctrl”和“c”键的公认答案才有效。Chrome或者Windows对于ctrl+c所涉及的时间安排似乎更为宽容,因为在点击c之前点击ctrl仍然可以成功复制数据。即使Chrome再次出现,也可能是Windows的东西说您已经成功复制了,JavaScript事件将无法捕获该操作

用法示例:

CopyMe.setCopyCallback(function(copiedText){
  // Do something here when text is copied
  alert(copiedText);
});
CopyMe.setCutCallback(function(cutText){
  // Do something here when text is cut
  alert(cutText);
});
var allCopiedCutText = CopyMe.getAllCopiedOrCutText();
var lastCopiedCutText = CopyMe.getLastCopiedOrCutText();

不,我想你不行。Javascript中对剪贴板的访问是一个安全问题。您可以使用keyup捕捉键盘,但无法查看剪贴板中的内容或向其发送文本。我不会尝试以任何方式访问剪贴板。我只是尝试检测CTRL+C组合,而不覆盖其默认行为。此外,它可以获得当前突出显示的文本使用你可以这样做,创建一种黑客。伪代码:在control+C上,将所选文本推送到堆栈上。对每个控件+C执行此操作,在控件+V上,从堆栈中弹出最后一个元素。后进先出你为什么不试试呢。我认为应该行得通。默认行为仍然存在,除非你阻止它。不,我认为你不能。Javascript中对剪贴板的访问是一个安全问题。您可以使用keyup捕捉键盘,但无法查看剪贴板中的内容或向其发送文本。我不会尝试以任何方式访问剪贴板。我只是尝试检测CTRL+C组合,而不覆盖其默认行为。此外,它可以获得当前突出显示的文本使用你可以这样做,创建一种黑客。伪代码:在control+C上,将所选文本推送到堆栈上。对每个控件+C执行此操作,在控件+V上,从堆栈中弹出最后一个元素。后进先出你为什么不试试呢。我认为应该行得通。默认行为将保留,除非您阻止它。