📜  如何使用 JavaScript 检测复制粘贴命令 Ctrl+V、Ctrl+C?

📅  最后修改于: 2021-10-31 05:23:56             🧑  作者: Mango

为了检测按键与“Ctrl”的组合,我们使用keydown事件的 ctrl属性。它返回一个“boolean”值来判断当按键事件被触发时是否按下了“ctrl”。

句法:

event.ctrlKey

返回值:

  • true:按下“ctrl”时。
  • false:未按下“ctrl”时。

HTML代码:下面是文件“index.html”的代码,用于检测“Ctrl+C”和“Ctrl+V”的组合。

HTML


  

    
    
    
    

  

    
                         
              


Javascript
document.body.addEventListener("keydown", function (ev) {
  
    // function to check the detection
    ev = ev || window.event;  // Event object 'ev'
    var key = ev.which || ev.keyCode; // Detecting keyCode
      
    // Detecting Ctrl
    var ctrl = ev.ctrlKey ? ev.ctrlKey : ((key === 17)
        ? true : false);
  
    // If key pressed is V and if ctrl is true.
    if (key == 86 && ctrl) {
        // print in console.
        console.log("Ctrl+V is pressed.");
    }
    else if (key == 67 && ctrl) {
  
        // If key pressed is C and if ctrl is true.
        // print in console.
        console.log("Ctrl+C is pressed.");
    }
  
}, false);


CSS 代码:以下代码演示了上述 HTML 文件中使用的文件“style.css”。

.container{
   display: flex;
   flex-direction: column;
   align-items: center;
}

textarea{
   margin-top: 20px;
}

Javascript 代码:下面演示了上述 HTML 文件中使用的文件“script.js”的代码。

Javascript

document.body.addEventListener("keydown", function (ev) {
  
    // function to check the detection
    ev = ev || window.event;  // Event object 'ev'
    var key = ev.which || ev.keyCode; // Detecting keyCode
      
    // Detecting Ctrl
    var ctrl = ev.ctrlKey ? ev.ctrlKey : ((key === 17)
        ? true : false);
  
    // If key pressed is V and if ctrl is true.
    if (key == 86 && ctrl) {
        // print in console.
        console.log("Ctrl+V is pressed.");
    }
    else if (key == 67 && ctrl) {
  
        // If key pressed is C and if ctrl is true.
        // print in console.
        console.log("Ctrl+C is pressed.");
    }
  
}, false);

输出:

  • 当按下 Ctrl+C 时:
  • 当按下 Ctrl+V 时: