2015-01-13 4 views
0

Я прочитал учебное пособие на веб-сайте CKEditor, но не могу понять, почему моя панель инструментов не появляется на CKEditor. Первоначально у меня была вся панель инструментов по умолчанию, но теперь она вернулась к тому, чтобы просто быть текстовой областью. Может кто-нибудь помочь, пожалуйста? Код выглядит следующим образом:Почему моя панель инструментов не появляется на моем CKEditor

$(function() { 

    CKEDITOR.replace('txtBodyText', 
     config.toolbar=[ 
      { name: 'basicstyles', items: ['Bold', 'Italic', 'Underline'] }, 
      { name: 'list', items: ['NumberedList', 'BulletedList'] }, 
      { name: 'Indent', items: ['Outdent', 'Indent'] }, 
      { name: 'align', items: ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'] }, 
      { name: 'links', items: ['link', 'unlink;'] }, 
      { name: 'insert', items: [ 'Image', 'Table', 'HorizontalRule'] }, 
      { name: 'styles', items: [ 'Font', 'FontSize'] }, 
      { name: 'Clipboard', items: ['Cut', 'Copy', 'PasteText', 'PasteFromWord'}, 
      { name: 'undo', items: [ 'Undo', 'Redo'] }, 
      { name: 'tools', items: [ 'Maximise'] }, 
      { name: 'mode', items: [ 'Source'] } 

     ]); 
}) 


<td class="prompt">Body</td> 
      <td> 
       <%: Html.TextArea("txtBodyText", Model.EmailTemplate.BodyText)%> 
      </td> 

ответ

0

У меня была дополнительная пара кронштейнов внизу. Если в Javascript есть проблема, он не будет запускать весь сегмент кода. Так что лучше всего проверить!

0

Это не похоже на действительный второй аргумент функции замены. Это может быть полезным:

var configObject = {}; 
configObject.toolbar = [ 
    [ 'Source', '-', 'NewPage', 'Preview', '-', 'Templates' ], 
    [ 'Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo' ], 
    '/', 
    [ 'Bold', 'Italic' ] 
]; 
CKEDITOR.replace('txtBodyText', configObject); 

Посмотрите разницу между этими двумя? Второй аргумент для замены должен быть действительным объектом JavaScript. В вашем примере была опечатка: см. unlink;? Это не совсем правильно :).

+0

Я вижу. Я принял ваш совет и внедрил его. Это все еще не сработало, хотя я вижу вашу логику. Я не совсем уверен, почему это не сработало. –

+0

@AndrewKilburn У вас есть какой-либо выход на консоль разработчика, который может помочь? Если бы вы могли предоставить ссылку, где я мог бы ее увидеть, это помогло бы в отладке :). Попробуйте отредактированную версию - если это работает, в содержании определения есть некоторая ошибка. – Nenotlep

+0

Я пробовал свой второй способ, и он все еще не работал. Вместо этого он поднял CKEditor по умолчанию, это действительно начинает нервничать. Я не вижу, где проблема. Но я ничего не получаю. Помимо сообщений об ошибках, которые я исправляю до запуска в любом случае. Спасибо за ваш ответ. –

0

CKEDITOR.replace() принимает идентификатор элемента для замены редактором и конфигурацией. Тем не менее, вам не нужно писать:

CKEDITOR.replace('txtBodyText', 
    config.toolbar=... 

это достаточно просто использовать toolbar, без предшествующего config. А также, как указано выше, код JavaScript неверен (обратите внимание на ваш = вместо :):

CKEDITOR.replace('txtBodyText', { 
    toolbar: ... 
}); 

Посмотрите, как это делается в образцах из CKEditor SDK, например, Custom Toolbar sample. Прокрутите вниз, чтобы получить полный исходный код образца.

Не забудьте очистить кеш браузера после изменения конфигурации редактора!

+0

Ваш второй пример не является допустимым объектом JS. Этот метод отлично работает, но измените его на 'CKEDITOR.replace ('id', {key: value});' notation :). – Nenotlep

+0

Спасибо за ваш ответ. Всякий раз, когда я пытаюсь использовать: вместо =. Он ожидает а) на конце. –

+0

Здравствуйте. Мой старший разработчик подошел и протянул мне руку. Это не твоя вина, у меня была пара дополнительных кронштейнов внизу, которая останавливала мой javascript. Я не смотрел так далеко. Ну, по крайней мере, я кое-что узнал. Javascript не запускается, если есть одна ошибка! Спасибо за помощь. –

Смежные вопросы