检测 TinyMCE 文本区域中的按键事件
Detect Keypress event in TinyMCE Text Area
我已经成功地将 TinyMCE 文本编辑器嵌入到 Drupal 7 Form 的文本区域中 API。
我尝试将下面的代码粘贴到我的 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.
如何修复警告?
请将您的 TinyMCE 插件更新到最新版本。看来您使用的是不支持最新 jQuery 或最新浏览器的旧版本 TinyMCE。
如果您更新了 TinyMCE 插件,请禁用您的主题并启用默认的 drupal theme/template 并再次检查。
希望对您有所帮助
读这个link: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);
});
}
浏览器控制台会记录光标位置
我已经成功地将 TinyMCE 文本编辑器嵌入到 Drupal 7 Form 的文本区域中 API。 我尝试将下面的代码粘贴到我的 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.
如何修复警告?
请将您的 TinyMCE 插件更新到最新版本。看来您使用的是不支持最新 jQuery 或最新浏览器的旧版本 TinyMCE。 如果您更新了 TinyMCE 插件,请禁用您的主题并启用默认的 drupal theme/template 并再次检查。
希望对您有所帮助
读这个link: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);
});
}
浏览器控制台会记录光标位置