自定义CKEditors链接插件

时间:2011-04-18 03:34:13

标签: javascript javascript-events ckeditor wysiwyg

我正在编辑链接插件,以允许员工选择指向内部内容的链接。 我已设法在链接插件对话框中添加另一个选项卡,其中包含带有onKeyup事件的文本输入。这个想法是,当他们输入时,它会列出下面的结果,他们可以选择他们想要的链接。选择后,我只是用url和协议更新信息选项卡。

以下是现有链接插件的代码部分

....
....

//Should update info tab with value
function AddLink(txtLink)
{
    var dialog = this.getDialog();
    dialog.setValueOf('info', 'url', txtLink);
    dialog.setValueOf('info', 'protocol', ''); 
}

//called when the user types in the search box. currently just uses text for basic testing
var searchBoxChanged = function ()
{
    var dialog = this.getDialog();
    var href = $(this).attr('href');
    var txt = dialog.getValueOf('article', 'searchWords');
    $('#searchResults').html("<a href=\"JavaScript:AddLink('/Article/View/" + txt +      "')\">Test Title</a>");
}

....
....
{
     //Adds extra tab to the link plugin for custom link searching
     id: 'article',
     label: linkLang.article,
     title: linkLang.article,
     elements:
     [
         {
              type: 'text',
              id: 'searchWords',
              label: linkLang.articleSearch,
              style: 'height:40px',
              size: 29,
              onKeyUp: searchBoxChanged
          },
          {
              type: 'html',
              html: '<div id="searchResults">Please start tying to get results</div>'
          }
     ] 


}
....
....

我正在使用文本框中的一些基本静态数据。在页面上创建的链接确定,但是当它被点击时我得到错误:

  

CRIPT5009:'AddLink'未定义

任何人都可以了解我出错的地方吗?

1 个答案:

答案 0 :(得分:0)

根据我的经验,[“x”未定义]错误通常意味着存在语法错误,或者通常,函数中的某些内容不会根据您的想法进行评估。

可能,this.getDialog()不在上下文中,所以它不会返回任何内容。然后,dialog.setValueOf()将无效。