监听浏览器复制粘贴事件&&开箱即用的复制到剪切板

监听键盘ctrl+c ctrl+v
	   area.onkeydown = (event) => { 
        if (event.ctrlKey) {
          if (event.keyCode == 67) {
            alert('ctrl+c复制')
            event.keyCode = 0;
          }
          if (event.keyCode == 86) {
            alert('ctrl+v粘贴')
          }
        }
      }; 
监听浏览器右键复制粘贴
	  let isRight = false;
      area.onmousedown = (event) => { // 右键
        event = window.event || event;
        if (event.button == 2) {
          isRight = true;
        }
      };
      area.oncopy = () => { // 监听浏览器复制事件
        if (isRight == true) {
          alert('右键复制')
          isRight=false
        }
      };
      area.onpaste = () => { // 监听浏览器粘贴事件
        if (isRight == true) {
          alert('右键粘贴')
          isRight=false
        }
      }

area 是获取的文本域的节点,必须是dom的真实节点

手写一个复制到剪切板的方法
export default function copyToClipboard(text) {
  let textArea = document.createElement("textarea");
  textArea.style.position = "fixed";
  textArea.style.top = "0";
  textArea.style.left = "0";
  textArea.style.width = "2em";
  textArea.style.height = "2em";
  textArea.style.padding = "0";
  textArea.style.border = "none";
  textArea.style.outline = "none";
  textArea.style.boxShadow = "none";
  textArea.style.background = "transparent";
  textArea.value = text;
  document.body.appendChild(textArea);
  textArea.select();

  try {
    let successful = document.execCommand("copy");
    let msg = successful
      ? "成功复制到剪贴板"
      : "该浏览器不支持点击复制到剪贴板";
    alert(msg);
  } catch (err) {
    alert("该浏览器不支持点击复制到剪贴板");
  }
  document.body.removeChild(textArea);
}
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值