如何在CKEditor小部件可编辑中禁止换行?

时间:2015-12-16 10:23:24

标签: ckeditor

对于客户端,我创建了一个quote-widget,其中一个可编辑字段就是名称。声明如下:

editor.widgets.add('quote', {
  editables: {
    name: {
      selector: '.quote__name',
      allowedContent: ' '
    },

它看起来像这样的模板:

'<strong class="quote__name">Ola Nordmann</strong>' +

我不确定allowedContent中是否有一个空格是一个hack,但它似乎不允许所有我想要的内容。传递一个空字符串似乎会导致它被忽略。我只希望客户能够更改强标签内的名称而不能弄乱任何格式,但目前他们可以按&#34;输入&#34;在强标签内并添加换行符。我已经尝试了所有的东西,但似乎没有任何办法让我禁止换行。最糟糕的是,如果他们在强标签内添加换行符并保存节点(这是Drupal),如果他们以后回来并编辑节点,则换行符已移出强标签,因为这是一个小部件,他们可以只编辑可编辑内容中的内容,这样他们就无法在不进入html源模式的情况下删除换行符并手动删除它或删除小部件并重新插入。

那么有没有办法完全禁止小部件内的换行符可编辑?

1 个答案:

答案 0 :(得分:1)

此代码可在重点关注可编辑时阻止换行。

editable.on('focus', function(){
    editor.on('key', disableEnterKey);
})

editable.on('blur', function(){
    editor.removeListener('key', disableEnterKey);
});

function disableEnterKey(e){
    if(e.data.keyCode === 13) {
        e.cancel();
    }
}