我有我的網站的文本編輯器,我希望用戶能夠使用鍵盤快捷鍵來保存,就像他們在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