4

私は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/

4

2 に答える 2

2

3.x から 4.x への移行で同じ問題が発生しました

于 2014-04-18T13:34:24.630 に答える
0

間違っているかもしれませんが、すでにトリガーされたイベント「ed.onKeyDown」をバインドしようとしていませんか。オブジェクトをそのイベントにバインドする必要があると思います。また、Cherniv が前述したように、init をドキュメント準備完了関数に配置する必要があります。

于 2013-10-03T17:16:26.033 に答える