如何将占位符属性添加到CKEditor的实例?

时间:2015-02-03 14:46:21

标签: javascript jquery ckeditor

现在,使用Alfonso's plugin,我可以在config.js中添加占位符属性。但是,由于我要添加到config.js中,这意味着所有实例都将具有相同的占位符文本,对吧?

好吧,我不希望我的ckeditor的所有实例都有相同的占位符文本,因为我也注意到他也说:

  

可以在配置中设置值,也可以将其设置为替换元素的属性

我认为这意味着我们可以输入"输入内容......"作为ckeditor1和" Blabla的占位符文本..."作为ckeditor2的占位符文本。我怎么做?或者那不是他的意思?

我尝试了几种方法,包括

    var ckeditor = CKEDITOR.replace('ckeditor1');
    ckeditor.placeholder = 'Type sometheing....';

    var config = [];
    config['placeholder'] = 'some value'; //or config = [{placeholder:'some value'}]
    CKEDITOR.replace("myeditor" , config );

在该特定页面内但无济于事......我还清除了我的缓存。

5 个答案:

答案 0 :(得分:8)

我的意思是:

<textarea name="editor" placeholder="Type here..."></textarea>

关于您的其他方法,配置是一个对象,所以这应该工作:

var config = {};
config.placeholder = 'some value'; 
CKEDITOR.replace("myeditor" , config );

答案 1 :(得分:1)

CKEditor对象有一个名为instances的属性,用于存储所有实例。要保存实例,只需将其添加到instances哈希。

var someDomElement = X;
CKEDITOR.replace(someDomElement);
CKEDITOR.instances[someDomElementId];

var someOtherDomElement = Y;
CKEDITOR.replace(someOtherDomElement);
CKEDITOR.instances[someOtherDomElementId];

现在你有两个实例。您现在可以使用标准API为该实例设置或执行任何操作。

CKEDITOR.instances[someDomElementId].CKEDITOR_API()

答案 2 :(得分:1)

快速的事情可能对其他人有帮助。我也很难使这个插件正常工作。原因是我使用的是旧版本的插件。我从这里下载的: https://ckeditor.com/cke4/addon/confighelper,该页面也可能会使其他人感到困惑。

几乎所有来自CKEditor的插件都在下载列表的顶部显示最新版本。同样,当单击“下载”按钮时,它通常会下载插件的最新版本。这个插件不是这种情况。 “下载”获得最早的版本,并且最早的版本也在列表中首先列出。

我认为值得一提的“ Gotcha”

答案 3 :(得分:0)

placeholdertext插件似乎是一个不错的解决方案。与ConfigHelper插件相反,占位符文本不会进入撤消/重做历史记录。

答案 4 :(得分:-1)

根据阿方索的网站,正确的方法是:

config['placeholder'] = 'some value';
CKEDITOR.replace("myeditor" , config );