2013-05-05 25 views
4

我有最新版本的tinymce编辑器。我有问题,当我想添加节ed.onKeyDown。在Firebug控制台我有错误消息:ed.onKeyDown in tinymce示例

TypeError: ed.onKeyDown is undefined

之前是我的全部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/

+0

你确定你不需要包装在$(文件)。就绪? – Cherniv 2013-05-06 09:16:58

+0

我不确定...没有ed.onKeyDown.add它正在工作... – cadi2108 2013-05-06 10:41:53

+0

只是为了实验,把'tinymce.init'放在'$(document).ready'中 – Cherniv 2013-05-06 10:55:28

回答

0

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