禁止在Firefox
測試這應該有助於讓你開始。您可能需要實際添加ctrl+u
和ctrl+i
的空快捷鍵,以便在其他瀏覽器中將其禁用,但此代碼已經過測試以禁用Firefox中的操作。只是tinyMCE的初始化運行後運行(我測試了螢火蟲雷):
for(var i in tinyMCE.editors){
var editor = tinyMCE.editors[i];
for(var s in editor.shortcuts){
var shortcut = editor.shortcuts[s];
// Remove all shortcuts except Bold (66), Redo (89), Undo (90)
if(!(s == "ctrl,,,66" || s == "ctrl,,,89" || s == "ctrl,,,90")){
// This completely removes the shortcuts
delete editor.shortcuts[s];
// You could use this instead, which just disables it, but still keeps
// browser functionality (like CMD+U = show source in FF Mac) from interrupting the flow
// shortcut.func = function(){ };
}
}
}
背景
這似乎周圍線2294
定義的jscripts/tiny_mce/classes/Editor.js
(從全面發展下載)。
此外,它們存儲在Editor.shortcuts
變量的數組中。他們的鍵是用特殊的字符,然後鍵碼,如下所示:ctrl,,,90
。
但是,從我所知道的,似乎很多瀏覽器實現自己的ctrl+b
,ctrl+i
,並且ctrl+u
版本,並且只壁虎的瀏覽器並不:
// Add default shortcuts for gecko
if (isGecko) {
t.addShortcut('ctrl+b', t.getLang('bold_desc'), 'Bold');
t.addShortcut('ctrl+i', t.getLang('italic_desc'), 'Italic');
t.addShortcut('ctrl+u', t.getLang('underline_desc'), 'Underline');
}
但如果你看看身邊有你可以看到他們如何啓用它。
此外,請查看Editor.addShortcut
方法。您可能可以覆蓋默認行爲。
我更新了我的答案,包括有關如何禁用你不想快捷方式的樣本。 – 2010-01-09 17:38:51
那麼,這個答案不會留下任何想要的。 :)撤回我的。 +1 – 2010-01-09 17:51:45
@Pekka很好,謝謝:)起初我以爲源碼不得不被編輯,但他們的快捷系統實際上非常酷。 – 2010-01-09 17:55:27