首页 > 解决方案 > 如何使用 Javascript 禁用浏览器默认键绑定?

问题描述

我正在构建一个带有自定义键绑定的编辑器来控制其行为。它运行良好,但是如果我设置了浏览器已经使用的键绑定模式,我定义的键绑定将被浏览器忽略。

浏览器键绑定列表:https ://www.howtogeek.com/114518/47-keyboard-shortcuts-that-work-in-all-web-browsers/

我的问题是,我怎样才能覆盖这些键绑定?是否可以使用 Javascript 来做到这一点?

标签: javascriptbrowser

解决方案


通过事件侦听器或“onkeydown”属性,您可以有条件地定位 key/keyCode、metaKey(command/windows)、shiftKey、altKey 和 ctrlKey 的组合:

window.addEventListener("keydown",(e)=>{
  const {key, keyCode, metaKey, shiftKey, altKey, ctrlKey} = e; 
  if(key === "c" && (ctrlKey || metaKey)){
    e.preventDefault();
    console.log("copy prevented");
  }
});
HIGHLIGHT AND TRY TO COPY THIS TEXT WITH CTRL + C or COMMAND + C


推荐阅读