essayer de trouver où désactiver les raccourcis de clavier individuels dans la version jQuery de TinyMce Editor. Actuellement, la liste des raccourcis autorisés est la suivante: p>
cherche actuellement à désactiver tous les raccourcis mais annuler, refaire et audacieux. Les autres sont chuessaires dans notre mise en œuvre en raison de son formatage indésirable. P>
Je n'arrive pas à trouver le code qui permet ces raccourcis. Pouvez-vous souligner où trouver ce code. p>
5 Réponses :
Cela devrait vous aider à démarrer. Vous devrez peut-être réellement ajouter des raccourcis vides pour arrière-plan fort> p> il semble être défini autour de la ligne aussi, ils sont stockés dans Un tableau dans la Mais de ce que je peux dire, il semble que de nombreux navigateurs impliquent leurs propres versions de Mais si vous regardez autour de-là, vous pouvez voir comment ils l'activent. p> En outre, regardez dans le Ctrl + U code> et Ctrl + i CODE> pour le désactiver dans les autres navigateurs, mais ce code a été testé pour désactiver les actions de Firefox. Il suffit de courir après que l'initialisation de TinyMCE a été exécutée (j'ai testé la mine en Firebug): p> 2294 code> de jscripts / tiny_mce / classes / éditeur.js code> (du téléchargement du développement complet). P> Editor.shortcutttes code> variable. Les clés sont configurées avec des caractères spéciaux puis le code-clés, comme celui-ci: Ctrl , 90 code>. P> ctrl + b code>, ctrl + i code> et ctrl + u code> et que seuls les navigateurs gecko ne font pas: p> Editor.addshortcut code> méthode. Vous pourriez être capable de remplacer le comportement par défaut. P> p>
J'ai mis à jour ma réponse pour inclure un échantillon sur la manière de désactiver les raccourcis que vous n'avez pas souhaité.
Eh bien, cette réponse ne laisse rien à désirer. :) Retrait de la mine. +1
@Pekka Eh bien, merci :) Au début, je pensais que la source devait être éditée, mais leur système de raccourci est en fait assez cool.
Cela semble bien fonctionner dans Firefox, mais il ne semble pas fonctionner dans Safari, Chrome et IE. On dirait que je ne peux pas remplacer les valeurs par défaut du navigateur. Des idées à ce sujet?
@Redwolves n'a rien de travail? Ou ne sont que CTRL + I et CTRL + U ne fonctionnent pas depuis leur mise en œuvre du navigateur?
Ok, alors j'ai fait un peu de test dans Just Safari et je n'ai pas pu bloquer le raccourci en italique. Certes, je ne sais vraiment pas beaucoup sur les modes de montage dynamiques de safari et c'est-à-dire. Désolé :(
Qu'en est-il de l'ajout de Ctrl + Entrez comme un raccourci clavier?
OK, j'ai pu obtenir cela pour travailler. J'ai pu bloquer Firefox en utilisant le code de Doug ci-dessus pour désactiver la désactivation de la clé Je voulais avoir dû ajouter ce code après le bloc de code de Doug.
var $iframe = $('iframe').contents().get(0);
$($iframe).keydown(function(oEvent) {
//italics (ctrl+i & Cmd+i [Safari doesn't allow you to test for Cmd])
if (oEvent.keyCode == '73' && (oEvent.metaKey || oEvent.ctrlKey)){
oEvent.preventDefault();
return false;
}
//underline (ctrl+u & cmd+u [Safari doesn't allow you to test for cmd])
if (oEvent.keyCode == '85' && (oEvent.metaKey || oEvent.ctrlKey)){
oEvent.preventDefault();
return false;
}
});
Exemple de code pour passer en arrière à partir de l'autorisation de I b et U en IE et FF.
var ctrlKey = false;
function removeShortcuts(){
var e = tinyMCE.activeEditor;
for (var s in e.shortcuts){
if(s=="ctrl,,,73" || s=="ctrl,,,85" || s="ctrl,,,66"){
e.shortcuts[s].func = function(){};
}
}
e.onKeyUp.add(onKeyUp);
e.onKeyDown.add(onKeyDown);
}
function resetShortcuts(){
var e = tinyMCE.activeEditor;
if (isGecko) {
e.addShortcut('ctrl+b', t.getLang('bold_desc'), 'Bold');
e.addShortcut('ctrl+i', t.getLang('italic_desc'), 'Italic');
e.addShortcut('ctrl+u', t.getLang('underline_desc'), 'Underline');
}
e.onKeyUp.remove(onKeyUp);
e.onKeyDown.remove(onKeyDown);
}
function onKeyUp(editor, event){
if(event.keyCode == 17){
ctrlKey = false;
}
}
function onKeyDown(editor, event){
if(event.keyCode == 17){
ctrlKey = true;
}
if(ctrlKey && (event.keyCode == 73 || event.keyCode == 85 || event.keyCode == 66){
tinymce.dom.Event.cancel(event);
}
}
Même si cela a une réponse acceptée, je partagerais ce que j'utilise avec Tinymce4. Vous pouvez simplement ajouter Exemple: strong> em> p> Vous pouvez remplacer tout raccourci que vous souhaitez remplacer Pour désactiver avec Editor.addshortcut ('Ctrl + u', "" "") code> à la méthode d'événement code> init code> dans la méthode Configuration code> , qui remplacera le raccourci supplémentaire ctrl + u code> dans le code ci-dessus. p> p>
J'ai fait exactement cela et cela n'avait eu aucun effet? Ctrl + U souligne toujours.
Ma version TinyMCE est 4.7.9