Jquery TinyMCE:TypeError:K未定义

Jquery TinyMCE:TypeError:K未定义,jquery,tinymce,nullreferenceexception,typeerror,Jquery,Tinymce,Nullreferenceexception,Typeerror,我在现有的插件中添加了一个按钮(该插件工作得非常好)。该按钮动态创建虚拟键盘$('#vkb'),让用户选择一些符号。我第一次在tinyMCE上执行该按钮时,它就工作了,我可以选择符号并将它们插入到tinyMCE编辑器中 但是在第一个正常运行的实例中,我得到了错误TypeError:K是未定义的。当前实例继续工作,尽管调用ed.execCommand会不断出现K undefined错误。但在此之后,创建TinyMCE工具栏的所有其他实例都会发生以下情况: ed.execCommand('mceIn

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

但是在第一个正常运行的实例中,我得到了错误
TypeError:K是未定义的
。当前实例继续工作,尽管调用ed.execCommand会不断出现
K undefined
错误。但在此之后,创建TinyMCE工具栏的所有其他实例都会发生以下情况:

  • ed.execCommand('mceInsertContent',false,str)命令
    插件代码不起作用,并且
  • 出现此错误:
    t为null
    (我认为
    t
    最有可能是
    this
    ,即编辑器本身)
  • 以下是我的代码:

          // 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为null
    错误,为什么在这之后,所有对命令的尝试都会说
    t为null
    ,尽管不是,因为其他按钮工作正常

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

    我注意到@Thariama似乎在TinyMCE有很好的经验。。。我希望你这么快就来!谢谢。你能把tiny_mce_dev.js改为tiny_mce.js(?)(可通过tinymce开发者下载版获得)吗。这将提供一些关于错误的更有用的信息我刚刚下载了开发包。。。但是没有jQuery版本,我已经在jQuery中进行了开发。您不需要tinymce的jQuery版本,最好在主页上加载jQuery并使用常规的tinymce构建,所有tinymce应用程序/自己的插件都可以使用jQuery。init看起来有点不同,但是jQuery构建会导致一些问题,而且速度非常慢(特别是在键盘输入处理方面),因为对象创建过程中,我添加了javascript开发版本并进行了尝试。它给了我一个稍有不同的错误,而不是“K”,而不是“selection”:
    TypeError:selection为null
    包含更多信息:
    ieRng=selection.getRng();-Editor.js第897行