在tinymce窗口触发keyup事件

时间:2011-05-09 11:14:55

标签: javascript jquery events triggers tinymce

我有一个带有多个tinymce实例的网页/表单,并设置为响应单词/字符数。一切正常,但无法在页面加载时显示单词/字符数与初始内容。这是我在tinymce设置中的设置部分。

setup: function(ed) {
    var text = ''; 
    var wordcount = false;
    ed.onKeyUp.add(function(ed, e) {
        var contents = new Object();

        for(i=0; i < tinyMCE.editors.length; i++){
           if (tinyMCE.editors[i].getContent())
               contents[i] = tinyMCE.editors[i].getContent();
           text = contents[i].replace(/(<([^>]+)>)/g,'').replace(/\s+/g,' ');
           text = $.trim(text);
           $('#' + tinyMCE.editors[i].id + '_path_row').text(text.split(' ').length + ' words, ' + text.length + ' characters.');
        }
    }
}

现在,我正在努力的部分是如何在页面显示初始内容时触发按键,以便显示单词/字符数。

我尝试了$('#'+ tinyMCE.editor(0).id +'_ ifr')。keyup();和$('#textarea1')。keyup();但没用。

有人可以帮助我做对吗?

3 个答案:

答案 0 :(得分:2)

将此添加到您的设置中:

ed.onInit.add(function(ed) {ed.onKeyUp.dispatch();});

Doc:http://tinymce.moxiecode.com/wiki.php/API3:class.tinymce.util.Dispatcher

答案 1 :(得分:0)

缺少一个角色。试试这个(至少在我的浏览器FF 3.6.17中起作用)

setup: function(ed) {
    var text = '';
    var wordcount = false;
    ed.onKeyUp.add(function(ed, e) {
        var contents = new Object();

        for(i=0; i < tinyMCE.editors.length; i++){
           if (tinyMCE.editors[i].getContent())
               contents[i] = tinyMCE.editors[i].getContent();
           text = contents[i].replace(/(<([^>]+)>)/g,'').replace(/\s+/g,' ');
           text = $.trim(text);
           $('#' + tinyMCE.editors[i].id + '_path_row').text(text.split(' ').length + ' words, ' + text.length + ' characters.');
        }
    });
}

答案 2 :(得分:0)

之后:

tinymce.init

您放置代码:

  init_instance_callback: function(editor) {
    editor.on('keyUp', function(e) {
      observa_boton_ir_paso1();
    });
  }