js 禁止鍵盤(pán)ctr+a、ctr+c、ctr+v、ctr+x、ctr+s代碼

代碼:

const keydownHandle = (e) => {
  // console.log(e, 'keydownHandle')
  let _ev = e || window.event
  if (_ev.ctrlKey && _ev.keyCode === 65) {
    console.log('ctrl + a', _ev)
    return false
  }
  if (_ev.ctrlKey && _ev.keyCode === 67) {
    console.log('ctrl + c', _ev)
    return false
  }
  if (_ev.ctrlKey && _ev.keyCode === 83) {
    console.log('ctrl + s', _ev)
    _ev.preventDefault() // 阻止默認(rèn)事件
    return false
  }
  if (_ev.ctrlKey && _ev.keyCode === 86) {
    console.log('ctrl + v', _ev)
    return true
  }
  if (_ev.ctrlKey && _ev.keyCode === 88) {
    console.log('ctrl + x', _ev)
    return true
  }
}

vue3 測(cè)試demo:

<template>
  <el-input
    v-bind="$attrs"
    type="text"
    v-model="data.inputVal"
    @keydown="keydownHandle"
  ></el-input>
</template>

<script setup>
import { reactive } from 'vue'
const data = reactive({
  inputVal: '',
})
const keydownHandle = (e) => {
  // console.log(e, 'keydownHandle')
  let _ev = e || window.event
  if (_ev.ctrlKey && _ev.keyCode === 65) {
    console.log('ctrl + a', _ev)
    return false
  }
  if (_ev.ctrlKey && _ev.keyCode === 67) {
    console.log('ctrl + c', _ev)
    return false
  }
  if (_ev.ctrlKey && _ev.keyCode === 83) {
    console.log('ctrl + s', _ev)
    _ev.preventDefault() // 阻止默認(rèn)事件
    return false
  }
  if (_ev.ctrlKey && _ev.keyCode === 86) {
    console.log('ctrl + v', _ev)
    return true
  }
  if (_ev.ctrlKey && _ev.keyCode === 88) {
    console.log('ctrl + x', _ev)
    return true
  }
}
</script>

若對(duì)你有幫助,請(qǐng)點(diǎn)個(gè)贊吧,若能打賞不勝感激,謝謝支持!
本文地址:http://www.itdecent.cn/p/97ca595baaae?v=1696994010720,轉(zhuǎn)載請(qǐng)注明出處,謝謝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容