以tinymce为例的ed.onKeyDown

时间:2013-05-05 15:35:11

标签: javascript tinymce

我有最新版本的tinymce编辑器。我有问题,当我想添加部分ed.onKeyDown。在firebug控制台中,我有错误消息:

  

TypeError:ed.onKeyDown未定义

以前是我的完整html文件:

    <textarea id="txtContent"></textarea>
    <p>Words left: <span id="txtContent-word-counter">200</span></p>

    <script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
    <script type="text/javascript" src="tinymce\tinymce.jquery.js"></script>
    <script type="text/javascript">
    tinymce.init({
        selector: "textarea",

    setup: function(ed) {
        var text = '';
        var span = document.getElementById(ed.id + '-word-counter');
        if(span) {
            var wordlimit = span.innerHTML;
            ed.onKeyDown.add(function(ed, e) {
                text = ed.getContent().replace(/(< ([^>]+)<)/g, '').replace(/\s+/g, ' ');
                text = text.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
                wordcount = wordlimit - (text.split(' ').length);
                span.innerHTML = wordcount;
                if(wordcount <= 0 && e.keyCode != 8) {
                    return tinymce.dom.Event.cancel(e);
                }
            });
        }
    }

     });
    </script>

来源: https://snipt.net/tamewhale/add-word-count-and-limit-to-tinymce/

2 个答案:

答案 0 :(得分:2)

我遇到了从3.x迁移到4.x的相同问题 解决方案:http://www.tinymce.com/forum/viewtopic.php?pid=107019#p107019

答案 1 :(得分:0)

我可能错了,但你不是想要绑定已经触发的事件“ed.onKeyDown”。我会假设或者认为你需要将一个对象绑定到该事件。此外,您应该将init放在文档就绪函数中,如前面提到的Cherniv。