я могу добавить событие onclick для элементов в CKEDITOR? - PullRequest
3 голосов
/ 08 февраля 2011

В ckeditor у нас есть два режима редактирования (просмотр источника и просмотр WYSiWYG)

Мы можем (конечно) добавлять любые html-коды в режиме просмотра исходного кода.Но в режиме WYSiWYG мы играем только с панелью инструментов и разрешенными свойствами.Для тех, кто не знаком с HTML, я пытаюсь найти способы помочь им определить события в элементах редактора (например, onclick = "alert ('test');").

Есть ли какие-либоспособы сделать это?

в случае изображения, мы можем указать идентификатор, заголовок, стиль и класс в ckeditor.Но это все.Если есть способ добавить или включить больше свойств в чем-то вроде config.js, это было бы очень хорошо.

Заранее спасибо

KS из Кореи.

Ответы [ 2 ]

1 голос
/ 03 августа 2011

Я создал диалоговый плагин, который будет добавлять событие onclick, следуя и изменяя код, найденный в учебном пособии «Создание простого плагина CKEditor», части 1 и 2 (найдено здесь ). После того, как вы создали элемент для вставки в ckeditor, вы можете добавить событие onclick, вставив строку кода

element.setAttribute('onclick','fuu()');

Это станет более понятным после прочтения учебника.

Единственная проблема этого метода заключается в том, что вы не можете изменить это значение путем повторного открытия диалогового окна через контекстное меню, и я не уверен, почему.

1 голос
/ 28 февраля 2011

взгляните на ответы на этот вопрос .Я думаю, это будет довольно просто, если я правильно интерпретирую ваш вопрос.

Настройте диалоги во время определения, добавьте поле "onclick", а затем установите и получите содержимое в функциях setup и commit.

также обратите внимание на предостережение о том, как html обрабатывается во время getData, что может создать проблему, если onclick недействителен (я никогда не добавлял ничего, кроме действительных атрибутов html, и видел другие вопросы, где этосозданные проблемы)

посмотрите на ckeditor / _samples / api_dialog.html, чтобы узнать, как изменить диалоги.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...