TinyMCE:TypeError:K未定义

时间:2012-11-26 07:40:37

标签: jquery tinymce nullreferenceexception typeerror

我已经在现有插件中添加了一个按钮(插件工作正常)。该按钮动态创建一个虚拟键盘$('#vkb'),允许用户选择一些符号。我第一次在tinyMCE上执行该按钮,它可以工作,我可以选择符号并将它们插入到TinyMCE编辑器中。

但是在第一个正确运行的实例的某个时刻,我得到了错误TypeError: K is undefined。虽然调用ed.execCommand会导致K undefined错误,但当前实例仍然有效。但在此之后,创建TinyMCE工具栏的所有其他实例都会发生以下情况:

  1. ed.execCommand('mceInsertContent', false, str);命令 插件代码不起作用,
  2. 此错误显示为:t is null(我认为t最有可能是this,即编辑本身。
  3. 以下是我的代码:

          // Registering the command
           ed.addCommand('mceArIndic', function() {
           _dovkb();
    
        function _dovkb()
        {  // some code for a virtual keybaord that lets users choose indic symbols
               // the final symbols are stored in a variable called 'ret'
               // I want ret's contents to be inserted in the tinymce editor
    
               // the code below is what happens when the closing key on the virtual keyboard is clicked:
    
        $('#vkbstop').live('click',function(e){
        var ret = $('#numoutput').val();
        $('#numoutput').val('');
        $('#vkb').remove();
        console.log("t.inserting");
                /* THIS IS WHERE K SOMETIMES BECOMES UNDEFINED, THEN ALL */ 
                /* DYNAMICALLY-CREATED TINMYCE INSTANCES THAT FOLLOW HAVE T AS NULL */
        ed.execCommand('mceInsertContent', false, ret); 
        toprint = '';
    });
    
        // Register arindic button
        ed.addButton('arindic', {
            title : 'Type Arabic/Indic digits',
            cmd : 'mceArIndic',
            image : url + '/img/indic.png'
        });
    

    在代码的末尾,插件已正确注册。

    我想也许编辑器还没有完成加载,但事实并非如此,因为我在等待长时间延迟后也试过了。为什么ed.execCommand有时会出现K is null错误,为什么在此之后所有对命令的尝试只是说t is null,尽管不是,因为其他按钮工作正常。

    修改

    切换到tiny_mce_dev.js后,它给了我一个稍微不同的错误,而不是“K”,而不是“选择”: TypeError: selection is null 更多信息: ieRng = selection.getRng(); - Editor.js第897行

0 个答案:

没有答案