Я знаю, что уже слишком поздно, но если кому-то это поможет, стоит попробовать.
Вот как я обработал это в javascript
, чтобы отключить команду ctrl + ( ctrl + B , ctrl + Любой ключ ), я использовал:
HTML:
<div id="xyz" onKeyDown="return disable(this,event);" contentEditable="true">
This is my Rich Text Editor
</div>
JavaScript:
function disable(x,e){
if(e.ctrlKey){ // .ctrlKey tells that ctrl key was pressed.
return false;
}
return true;
}
DEMO
<ч />
Но это также повлияет на способ копирования + вставки по умолчанию с использованием ctrl + C и ctrl + V . Если вы хотите сохранить все функции по умолчанию, за исключением особых случаев, таких как: ctrl + B ( Bold ), ctrl + i ( курсив ) и ctrl + u (подчеркивание), тогда лучше использовать switch case statements
для keyCode
значений, таких как:
function disable(x,e){
var ret=true;
if(e.ctrlKey){
switch(e.keyCode){
case 66: //ctrl+B or ctrl+b
case 98: ret=false;
break;
case 73: //ctrl+I or ctrl+i
case 105: ret=false;
break;
case 85: //ctrl+U or ctrl+u
case 117: ret=false;
break;
}
}
return ret;
} // This will work fine for ctrl+c and ctrl+v.
DEMO
<ч />
Теперь это будет нормально работать для стандартных функций копирования + вставки, но ограничит другие, такие как жирный, курсив и подчеркивание.
<ч />
EDIT
Как Betty_St
Предложено , чтобы сделать эту работу на Mac, вам необходимо заменить:
if(e.ctrlKey){
с
if(e.ctrlKey || e.metaKey){ // Coz You'll be using CMD key on mac
Тогда это может работать на Mac OS.
Примечание: я раньше не имел дела с Mac, поэтому я не знаю, правильный ли это способ или нет.
<ч />
Надеюсь, поможет :). Приветствия.