我有我的网站的文本编辑器,我希望用户能够使用键盘快捷键来保存,就像他们在Microsoft Word中:键盘快捷键JQUERY - 命令+ S,控制+ S
- 对于Mac:Cmd的 + 小号
- 对于PC:按Ctrl +小号
在jQuery中完成此操作的最佳方法是什么?此外,这将用于保存在使用iFrame的CKEditor中的内容,不知道这是否是一个问题。
我有我的网站的文本编辑器,我希望用户能够使用键盘快捷键来保存,就像他们在Microsoft Word中:键盘快捷键JQUERY - 命令+ S,控制+ S
在jQuery中完成此操作的最佳方法是什么?此外,这将用于保存在使用iFrame的CKEditor中的内容,不知道这是否是一个问题。
您是否知道CKEditor有built in hotkey functionality?
实现起来非常简单:您在配置数组中设置了一个数组keystrokes
;从上面的链接中获取示例数组;查看“S”的按键;并通过它的条目和相应的CKEditor命令修改数组。我现在无法测试,但这是应该是的样子。您可能需要查找适合您要执行的“保存”操作的命令。
... your config array .....
CKEDITOR.config.keystrokes =
[
[ CKEDITOR.ALT + 121 /*F10*/, 'toolbarFocus' ],
[ CKEDITOR.ALT + 122 /*F11*/, 'elementsPathFocus' ],
[ CKEDITOR.SHIFT + 121 /*F10*/, 'contextMenu' ],
[ CKEDITOR.CTRL + 90 /*Z*/, 'undo' ],
[ CKEDITOR.CTRL + 89 /*Y*/, 'redo' ],
[ CKEDITOR.CTRL + CKEDITOR.SHIFT + 90 /*Z*/, 'redo' ],
[ CKEDITOR.CTRL + 76 /*L*/, 'link' ],
[ CKEDITOR.CTRL + 66 /*B*/, 'bold' ],
[ CKEDITOR.CTRL + 73 /*I*/, 'italic' ],
[ CKEDITOR.CTRL + 85 /*U*/, 'underline' ],
[ CKEDITOR.CTRL + 83 /*S*/, 'save' ],
[ CKEDITOR.ALT + 109 /*-*/, 'toolbarCollapse' ]
];
是的,但没有就如何实现它的文档? – AnApprentice 2009-12-30 00:58:43
请参阅我编辑的答案。 – 2009-12-30 11:58:46
对于mac的COMMAND键呢? – Shamoon 2011-04-29 14:19:50
在Mac上,捕捉CMD-S,分配事件处理程序,以这样的编者:
CKEDITOR.instances['editor1'].on('key', function (evt) {
console.log(evt.data.keyCode)
//cmd-s - save
if (evt.data.keyCode == 1114195) {
evt.cancel();
save();
}
});
在我的例子,我打电话给我的save()
功能。
这可能会有所帮助:http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.keystrokeHandler.html 类CKEDITOR.keystrokeHandler – AnApprentice 2009-12-29 23:51:37