0
我发现了一些有趣的JavaScript撤销管理器和 - 当然,我们有一个最终将在浏览器中使用HTML5实现的。撤消/重做事件绑定
现在,我不知道的是如何捕捉意味着触发 '撤消' 与jQuery驱动的UndoManager用户操作:
- 按Ctrl + Z,按Ctrl + Shift + Z
- CMD + Z,为Cmd + Shift + Z
- 用户点击编辑>撤消或编辑>在浏览器中重做菜单
我首先它会是这样的:
function keypress(e){
if (e.metaKey) {
Collage.console(e);
switch(e.keyCode){
case 122: // Mac
if (e.shiftKey) {
undoManager.redo(e);
} else {
undoManager.undo(e);
}
case 26: // PC
if (e.shiftKey) {
undoManager.redo(e);
} else {
undoManager.undo(e);
}
}
}
};
$('#my-thing-with-undos').bind('keypress', keypress);
但我如何确保(现代)浏览器的编辑菜单跟上程序?
我真的不希望浏览器试图找出在该区域中撤消什么以及如何撤消,或者至少不要执行编辑(它是一个contenteditable = true
区域)。
`第2行if(e.metaKey)`应确保控制或命令关闭。 – ilpoldo 2010-11-24 19:14:09