javascript - 如何使用 Javascript 禁用浏览器默认键绑定?
问题描述
我正在构建一个带有自定义键绑定的编辑器来控制其行为。它运行良好,但是如果我设置了浏览器已经使用的键绑定模式,我定义的键绑定将被浏览器忽略。
浏览器键绑定列表:https ://www.howtogeek.com/114518/47-keyboard-shortcuts-that-work-in-all-web-browsers/
我的问题是,我怎样才能覆盖这些键绑定?是否可以使用 Javascript 来做到这一点?
解决方案
通过事件侦听器或“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
推荐阅读
- javascript - 赛普拉斯对简单 javascript 程序的检查失败
- c# - 如何使用 C# mvc entityframwork 将值插入到 forignkey 列
- typescript - 将 JS 转换为 TS - React Hooks
- r - 仅选择那些在特定列上包含特定单词的行
- javascript - 在我的 Cordova Android 应用程序中,我无法在 IFRAME 中嵌入 IP 地址或 URL
- javascript - 快速连续将鼠标悬停在元素上时,跨度元素上的事件侦听器卡住并且不重置 div
- jquery - 协助编写 jQuery 代码以隐藏网页上的元素?
- jasper-reports - Acrobat 阅读器无法提取嵌入字体“PWLEAX+NotoSerifCJKsc-Regular-Identity-H”
- python - 有没有把这个文本文件格式转换成二维列表的功能?
- r - R 中的 X[1:(n-2)] 究竟做了什么?