检测用户是否使用键或鼠标执行粘贴

时间:2019-02-22 06:52:18

标签: javascript jquery html

我需要检测用户是否正在执行粘贴操作(Ctrl + V和鼠标右键单击)。我能够检测ctrl + V,但无法检测到鼠标的复制粘贴。我知道onPaste事件,但是在keydown事件下需要它,因为我正在为许多其他键组合编写单独的逻辑。我将这个问题压缩为以下较小的代码段。如果要使用鼠标复制粘贴内容,我希望触发同样的警报。谢谢

$("#txt1").keydown(function(event){ 

    if(event.ctrlKey && event.keyCode == 86){
        alert("copy paste detected");
    }
}); 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="txt1"/>

2 个答案:

答案 0 :(得分:0)

我不知道此答案是否满足您的要求。 可能是您可以通过添加oncontextmenu属性来禁用鼠标右键单击。这将阻止右键单击->粘贴操作。

<body oncontextmenu="return false">
text
</body>

答案 1 :(得分:-1)

$(document).ready(function() {
  $("#txt1").bind({
    copy: function() {
      $('span').text('copy behaviour detected!');
    },
    paste: function() {
      $('span').text('paste behaviour detected!');
    },
    cut: function() {
      $('span').text('cut behaviour detected!');
    }
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="txt1" type="text" size="50" value="Copy, paste or cut message here" />
<br>
<span></span>