Отключено Протестировано в Firefox
Это должно помочь вам начать. Возможно, вам придется добавить пустые ярлыки для ctrl+u
и ctrl+i
, чтобы отключить его в других браузерах, но этот код был протестирован для отключения действий в Firefox. Просто запустите после инициализации tinyMCE (я проверил мой в Firebug):
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
и что только браузеры Gecko этого не делают:
// 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
. Вы можете изменить поведение по умолчанию.