3
我想知道是否有人可以为我提供一个解决方案,从Wordpress 4.0中的tinyMCE中删除键盘快捷键? 因为我使用的前端文本编辑器,我想禁用ALT + SHIFT + M(打开媒体库)和ALT + F(打开全屏幕和用户不能添加括号打开)如何删除tinyMCE 4中的键盘快捷键?
任何帮助将不胜感激
我想知道是否有人可以为我提供一个解决方案,从Wordpress 4.0中的tinyMCE中删除键盘快捷键? 因为我使用的前端文本编辑器,我想禁用ALT + SHIFT + M(打开媒体库)和ALT + F(打开全屏幕和用户不能添加括号打开)如何删除tinyMCE 4中的键盘快捷键?
任何帮助将不胜感激
这里是一个完美的解决方案(original answer here),只需添加到您的的functions.php文件:
<?php
add_action('wp_tiny_mce_init', function() {
?>
<script>
function wp_disable_shortcuts_tiny_mce_init(editor) {
editor.on('init', function() {
this.addShortcut('alt+ctrl+f', '', function() {}); //altgr is alt+ctrl
this.addShortcut('alt+ctrl+g', '', function() {}); //just in case...
this.addShortcut('alt+shift+m', '', function() {});
//you could add a for loop to disable multiple shortcuts as in OP's answer
// var ctrls = [ 'a', 'b', 'c', 'd' ];
// for(var i = 0; i < ctrls.length; i++){
// this.addShortcut('ctrl+' + ctrls[i], '', function() {});
// }
});
}
</script>
<?php
});
function wp_disable_shortcuts_tiny_mce_before_init($mceInit) {
$mceInit['setup'] = 'wp_disable_shortcuts_tiny_mce_init';
return $mceInit;
}
add_filter('tiny_mce_before_init', 'wp_disable_shortcuts_tiny_mce_before_init');
?>
,这里是所使用的功能和过滤器的简要说明。
该过滤器授予开发人员访问TinyMCE的设置阵列,
add_filter('tiny_mce_before_init', 'wp_disable_shortcuts_tiny_mce_before_init');
在那里,我们可以利用HOOK我们对TinyMCE的设置js函数如下:
function wp_disable_shortcuts_tiny_mce_before_init($mceInit) {
$mceInit['setup'] = 'wp_disable_shortcuts_tiny_mce_init';
return $mceInit;
}
最后,这个动作,
add_action('wp_tiny_mce_init', function(){ ... });
加载tinymce.js后触发,但在任何TinyMCE编辑器实例之前被创建。在这里我们创建了我们的javascript函数,它将在init中禁用编辑器快捷方式,将其替换为无操作函数。
希望这会有所帮助。
有人请吗? –