禁用Chrome's文本输入undo/redo (CTRL+Z / CTRL+Y)
Disable Chrome's text input undo/redo (CTRL+Z / CTRL+Y)
我目前正在开发一个web应用程序,我遇到了一个问题。你可能知道或不知道,chrome有一个功能,给<input>
(特别是文本输入)一个"撤消";CTRL+Z和"redo"与CTRL+Y它可能看起来像一个很好的功能在正常的网站,但目前我正在制作一个图像编辑器,也使用这些键盘快捷键(CTRL+Z & CTRL + Y )。
在我的应用程序中,我也有一个文本输入,所以当我改变文本输入的内容,然后按CTRL+Z撤销我的图像编辑器的变化,它会撤销在文本编辑器的变化,而不是!
下面是一个演示效果的代码
(指令在代码中)
所以在结论中,我想删除撤消/重做功能在chrome我怎么能做到这一点?
你可以使用onkeydown事件和preventDefault..如:
document.onkeydown = function(e) {
if (e.ctrlKey && e.key === 'z') {
e.preventDefault();
alert("CTRL + Z!");
}
}
var ctrlDown = false;
var ctrlKey = 17, vKey = 86, cKey = 67, zKey = 90;
document.body.onkeydown = function(e) {
if (e.keyCode == 17 || e.keyCode == 91) {
ctrlDown = true;
}
if ((ctrlDown && e.keyCode == zKey) || (ctrlDown && e.keyCode == vKey) || (ctrlDown && e.keyCode == cKey)) {
e.preventDefault();
return false;
}
}
document.body.onkeyup = function(e) {
if (e.keyCode == 17 || e.keyCode == 91) {
ctrlDown = false;
};
};
<body>
<input type='text' value='test' />
</body>
这个工作吗?
从这里偷来的,是@KadeHafen在这里的评论
相关文章:
- 如何通过documents.ready函数中的javascript自动按键(ctrl+shift+i)
- 如何在Firefox中获取剪贴板文本和html当用户按下“;Ctrl+V”;
- 如何使用javascript触发键盘快捷键(ctrl+alt+R)
- AngularJS-参数'菜单Ctrl'不是函数,未定义
- 解开CTRL+S问题
- 谷歌文档如何拦截Ctrl-S/Command-S来保存文档而不是html页面
- 在我的浏览器中用类似ctrl+s的PhantomJS保存一个网站
- 如何模拟shift/ctrl/alt键状态
- 如何使文本、数字和日期html输入字段以一致的方式支持Ctrl+Z(撤消)
- 什么'是一个用于PHP+JS(extJS)开发的IDE,支持ctrl+click
- AltGr treated as Alt + Ctrl
- jQuery:将“CTRL+A”绑定为仅选择特定区域
- 每次都必须按 CTRL+f5 才能点击 api.如果不按它,就会弹出跨源请求阻止错误
- 设置操作系统特定的键绑定 - Mac 上的 cmd 并在其他所有内容上按 Ctrl
- 通过复选框模拟 CTRL 按键
- 当我用ctrl+p搜索时,为什么要在谷歌chrome上使用inspect来调试缺少显示文件js
- 如何禁用iframe中的Ctrl+A、Ctrl+C键功能
- "ctrl”;在指令中的LINK中未定义
- 当用户点击ctrl+enter时,如何将光标推到下一行
- 禁用Chrome's文本输入undo/redo (CTRL+Z / CTRL+Y)