我已经在Drupal 7 Form API的文本区域中成功嵌入了TinyMCE文本编辑器。 我尝试在我的javascript代码中粘贴下面的代码,没有运气。
tinyMCE.init({
setup : function(ed) {
ed.onKeyPress.add(function(ed, e) {
console.debug('Key press event: ' + e.keyCode);
});
}
});
每次我在textarea上输入时,都没有错误,只有警告:
'KeyboardEvent.keyLocation' is deprecated. Please use 'KeyboardEvent.location' instead.
我该如何修复警告?
答案 0 :(得分:2)
请阅读此链接:https://www.drupal.org/node/1714068
将以下代码粘贴到.module文件中。
/**
* Implements hook_wysiwyg_editor_settings_alter().
*/
function MODULENAME_wysiwyg_editor_settings_alter(&$settings, $context){
if($context['profile']->editor == 'tinymce') {
drupal_add_js(drupal_get_path('module', 'MODULENAME') . '/MODULENAME_tinymce_callbacks.js');
$settings['setup'] = 'MODULENAME_tinymce_setup_callback';
}
}
在MODULENAME_tinymce_callbacks.js
function MODULENAME_tinymce_setup_callback(ed){
var range = 0;
ed.onEvent.add(function (ed, e) {
range = ed.selection.getRng().startOffset;
console.log(range);
});
}
然后光标位置将登录浏览器的控制台。
答案 1 :(得分:0)
请将您的TinyMCE插件更新到最新版本。看起来您使用的是旧版本的TinyMCE,它不支持最新的jQuery或最新的浏览器。 如果您更新了TinyMCE插件,请禁用主题并启用默认的drupal主题/模板,然后再次检查。
希望这会对你有所帮助