【问题标题】:trouble with CKEDITOR and a javascript functionCKEDITOR 和 javascript 函数的问题
【发布时间】:2012-10-20 21:43:12
【问题描述】:

我已经在 javascript 中完成了一个函数,它能够通过它们的表达式更改一些缩写,所有这些都在 javascript 和 onkeyup 中。

我遇到的麻烦是这在使用插件CKEDITOR的textarea上不起作用,

当我禁用 ckeditor 时,它工作正常。

这是我的代码:

<script type="text/javascript">
var abbreviations = {
        "ABS": "Le débiteur est absent, nous le relançons par courrier. Nous agendons également une visite domiciliaire s'il s'avérait que ce dernier restait sans réponse.",




};

function abbrReplace(el, abbrs) {
    if (!el || !abbrs) {
        return false;
    }
    else {
        var val = el.value,
            words = val.split(/\s/);
        for (var i = 0, len = words.length; i<len; i++) {
            if (abbrs[words[i]]) {
                words[i] = abbrs[words[i]];
            }
        }
        return words.join(' ');
    }
}

document.getElementById("suivi").onkeyup = function(){
    this.value = abbrReplace(this, abbreviations);
};


</script>

我真的迷路了,我已经尝试了很多方法来完成这项工作。

我们将不胜感激任何帮助。

亲切的问候。

SP。

【问题讨论】:

    标签: php javascript function replace ckeditor


    【解决方案1】:

    CKeditor 用 CKeditor 实例替换你的 textarea,然后忽略 textarea。您正在寻找的是将您的函数绑定到 CKeditor 的 keyup 事件并更改编辑器的内容。结合add code for event listener for keypress in ckeditorHow to find and replace text in CKEditor using Javascript? 上的答案会产生如下结果:

    var abbreviations = ...;
    
    function abbrReplace(el, abbrs) {
        ...changed to accept a piece of text instead of an element...
    }
    
    CKEDITOR.on('instanceCreated', function(e) {
        e.editor.on('contentDom', function() {
            e.editor.document.on('keyup', function(event) {
                // keyup event in ckeditor
                old_text = e.editor.getData();
                new_text = abbrReplace(old_text, abbreviations);
                e.editor.setData(new_text);
            });
        });
    }); 
    
    CKEDITOR.replace('suivi');
    

    我已经对此进行了测试,它还不能完美运行,但它应该为您指明正确的方向。

    【讨论】:

      猜你喜欢
      • 2012-10-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 2011-02-22
      • 2021-01-03
      相关资源
      最近更新 更多