Bin*_*iya 5 html javascript google-chrome undo textinput
我目前正在开发Web应用程序,但遇到问题。您可能不知道,chrome具有一项功能,<input>当您按下CTRL + Z并使用CTRL + Y进行“重做”时,Chrome提供了(尤其是文本输入)“撤消”功能,这在普通网站中似乎是一个不错的功能,但是目前我正在制作也使用这些键盘快捷键(CTRL + Z和CTRL + Y)的图像编辑器。
在我的应用程序中,我也有文本输入,因此当我更改文本输入的内容,然后按CTRL + Z撤消图像编辑器中的更改时,它将撤消文本编辑器中的更改!
这里是一个Codepen可以展示效果
(指令在Codepen)
所以总之,我想删除chrome中的撤消/重做功能,我该怎么做?
您可以使用 onkeydown 事件和 PreventDefault .. 例如。
document.onkeydown = function(e) {
if (e.ctrlKey && e.key === 'z') {
e.preventDefault();
alert("CTRL + Z!");
}
}
Run Code Online (Sandbox Code Playgroud)
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;
};
};Run Code Online (Sandbox Code Playgroud)
<body>
<input type='text' value='test' />
</body>Run Code Online (Sandbox Code Playgroud)
这有效吗?
从这里被盗,在@KadeHafen的评论中找到。
| 归档时间: |
|
| 查看次数: |
3716 次 |
| 最近记录: |