未捕获的TypeError:无法使用Ckeditor调用未定义的方法'toLowerCase'

时间:2014-03-13 05:22:19

标签: javascript jquery ckeditor

我正在尝试使用ckeditor过滤单词(蚂蚁,单词)。这适用于普通的textarea。 http://jsfiddle.net/fqthJ/22/。现在我正在尝试使用ckeditor http://jsfiddle.net/s47M3/35/,但我收到以下错误

Uncaught TypeError: Cannot call method 'toLowerCase' of undefined using Ckeditor

如果您在控制台上查看,我只会在输入过滤后的单词(蚂蚁和单词)时收到上述错误,否则不会出现错误。

请帮忙

2 个答案:

答案 0 :(得分:4)

实际上我昨天一直试图解决你发布的同一类问题。

问题是you can't use jQuery long with CKEDITOR,因此您遇到了错误。

<强> FIX:

alert("The following word/words  "+
          CKEDITOR.instances['editor1'].getData().match(regAry[index])+" is banned"); 

JSFiddle

如果您对CKEditor的jQuery Adaptor感兴趣,那么您可以自己使用。

答案 1 :(得分:1)

在第二个小提琴中,尝试在debugger;之前放置一个alert('the following words...行,然后在再次运行之前打开浏览器开发者控制台。您会注意到$(this)是一个CKEditor特定的dom element,看起来像iFrame,因此.val()可能会失败,因为它会查找字符串。我不太了解CKEditor以了解如何从中获取编辑器内容,但是如果您在CKEditor.dom.element中浏览,则知道它是 html格式的,所以它除普通文本等外,还将包含html元素。