簡體   English   中英

在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插件到最新版本。 看來您使用的是TinyMCE的舊版本,該版本不支持最新的jQuery或最新的瀏覽器。 如果您已更新TinyMCE插件,請禁用您的主題並啟用默認的drupal主題/模板,然后再次檢查。

希望這個能對您有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM