检测 TinyMCE 文本区域中的按键事件
Detect Keypress event in TinyMCE Text Area
我已经成功地在Drupal 7 Form API的文本区域中嵌入了一个TinyMCE文本编辑器。我尝试将下面的代码粘贴到我的 JavaScript 代码中,但没有运气。
tinyMCE.init({
setup : function(ed) {
ed.onKeyPress.add(function(ed, e) {
console.debug('Key press event: ' + e.keyCode);
});
}
});
没有错误,只有警告,每次我在文本区域键入时:
'KeyboardEvent.keyLocation' is deprecated. Please use 'KeyboardEvent.location' instead.
我将如何修复警告?
阅读此链接: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 插件更新到最新版本。看起来您使用的是不支持最新jQuery或最新浏览器的旧版本的TinyMCE。如果您已经更新了TinyMCE插件,请禁用您的主题并启用默认的drupal主题/模板,然后再次检查。
希望这对你有帮助
相关文章:
- 如何在tinymce编辑器中将点击事件绑定到html标签
- TinyMCE 将另一个事件添加到粗体和斜体按钮
- 如何在javascript事件触发时用一些内容填充tinymce
- Tinymce 4 如何添加事件处理程序
- 关闭 tinymce 插件对话框时的事件
- 传统的JavaScript onchange事件和Tinymce编辑器的模糊事件
- 检测 TinyMCE 文本区域中的按键事件
- 如何添加在调用 tinymce get 函数时触发的事件侦听器
- TinyMCE onPaste 不设置内容,使用上下文菜单粘贴不会触发更改事件
- 无法将调整大小事件添加到tinymce编辑器
- 哪个事件会触发使用Tinymce的图像拖放
- fire keyPress tinyMce中的事件
- Tinymce新线事件
- 事件回调未获取tinymce目标信息
- tinyMce绑定focusin/focusout事件
- TinyMCE文本区域没有't响应'onkeydown'事件
- 如何在TinyMce的ko.bindingHandler中传递事件
- TinyMCE撤消操作不会引发更改事件
- tinyMCE文本区域聚焦事件
- 如何检测tinyMCE文本区域模糊/聚焦事件