<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
	<channel>
		<title>Совместное использование CKEditor'а и jQuery</title>
		<link>https://lily-software.com</link>
		<description>Лента комментариев страницы</description>
		<generator>Cotonti</generator>
		<language>ru</language>
		<pubDate>Wed, 13 May 2026 13:06:17 +0300</pubDate>

		<item>
			<title>Комментируемая страница</title>
			<description><![CDATA[<p style="text-align:justify;"><a href="https://lily-software.com/go.php?ckeditor.com">CKEditor</a> - полнофункциональный визуальный (Wysiwyg) HTML редактор страниц. Позволяет редактировать страницу как в режиме Wysiwyg, так и в режиме непосредственного редактирования HTML-кода.</p>

<p style="text-align:justify;">К CMF Cotonti подключается при помощи плагина <a href="https://lily-software.com/sozdanie-internet-sajtov/arhiv/cotonti_ckeditor">Cotonti.CKEditor</a>.</p>

<p style="text-align:justify;"> </p>

<p style="text-align:justify;">В этой статье мы кратко рассмотрим, как можно использовать CKEditor совместно с библиотекой jQuery при разработки плагинов.</p>

<p style="text-align:justify;"> </p>

<p style="text-align:justify;">Для интеграции редактора с jQuery, в настройках плагина нужно включить опцию «Включить адаптер jQuery?», также понадобится опцию « «ckeditor.js» только для редактирования страниц» перевести в положение «Нет», чтобы CKEditor стал доступным на всех страница сайта (не только при редактировании страниц).</p>

<p style="text-align:justify;"> </p>

<h3>Создание экземпляра редактора</h3>

<p>Любой элемент <strong>textarea</strong>, <strong>p</strong> или <strong>div</strong> может быть превращен в текстовый редактор, просто используя метод <strong>ckeditor()</strong>:</p>

<p class="code">$('Textarea.editor').сkeditor();</p>

<p>Также могут быть использованы <strong>цепочки вызовов</strong> jQuery</p>

<p class="code">$( '.section-x' )<br />
    .find( 'textarea.editor' )<br />
       .ckeditor()<br />
    .end()<br />
    .find( 'a' )<br />
       .addClass( 'mylink' )<br />
    .end();</p>

<p><strong>ckeditor()</strong> является основным методом jQuery адаптера. Он принимает два необязательных параметра:</p>

<ul><li><strong>Функция обратного вызова</strong>, которая будет выполнена после создания редактора</li>
	<li><strong>Настройки конфигурации</strong>, спецефичные для создаваемого экземпляра редактора</li>
</ul><p><a href="https://lily-software.com/go.php?docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html">Настройки конфигурации</a> передаются через простой объект, содержащий свойства, каждое из которых связано с конкретной настройкой редактора.</p>

<p class="code">$('.jquery_ckeditor')<br />
    .ckeditor( function() { /* callback code */ }, { skin : 'office2003' } );<br />
    .ckeditor( callback2 );</p>

<p style="text-align:justify;">Приведенный пример не создаст 2 редактора, т.к. один экземпляр уже в процессе создания, после завершения первой функции обратного вызова будет запущена вторая. Каждая из этих функций обратного вызова будет выполняться в контексте объекта <a href="https://lily-software.com/go.php?docs.cksource.com/ckeditor_api/symbols/CKEDITOR.editor.html">CKEDITOR.editor</a> (так что «this» будет указывать на экземпляр редактора) и элемент объекта DOM будет им передан в качестве параметра.</p>

<p style="text-align:justify;"> </p>

<h3>Операции над экземпляром редактора</h3>

<p> </p>

<p style="text-align:justify;">Как только экземпляр редактора создан (после завершения работы функции обратного вызова), можно использовать метод <strong>ckeditorGet()</strong> для получения доступа к редактору. Например:</p>

<p class="code">var editor = $('.jquery_ckeditor').ckeditorGet();<br />
alert( editor.checkDirty() );</p>

<p style="text-align:justify;">Поскольку операции получения данных, набраных в редакторе, и установка этих данных являются общими операциями, адаптер jQuery позволяет делать это с помощью метода <strong>val()</strong>.</p>

<p class="code">// Читаем данные, набранные пользователем в редакторе.<br />
var data = $( 'textarea.editor' ).val();<br />
// Устанавливаем новый тект в редакторе.<br />
$( 'textarea.editor' ).val( 'my new content' );</p>

<p style="text-align:justify;">Эта возможность может быть отключена установкой настройки <strong>CKEDITOR.config.jqueryOverrideVal</strong> в значение <strong>false</strong>, до того как будет загружен адаптер jQuery. Его Cotoni в свою очередь загружает при исполнении хука <strong>header.main</strong>. Учитывайте эту особенность при написании плагинов, использующих этот адаптер.</p>

<p style="text-align:justify;">Для элемента <strong>textarea</strong> редактор автоматически вернет свои данные в форму при отправке. CKEditor также работает с официальным плагином <a href="https://lily-software.com/go.php?jquery.malsup.com/form/">jQuery Form Plugin</a> для Ajax форм. Для взаимодействия с этим плагином не требуется никаких дополнительных доработок.</p>

<p style="text-align:justify;"> </p>

<h3 style="text-align:justify;">Обработка событий</h3>

<p> </p>

<p style="text-align:justify;">CKEditor имеет свою систему событий. Она состоит из четырех основных событий:</p>

<ul><li style="text-align:justify;"><strong>instanceReady.ckeditor</strong> : возникает в момент завершения создания экземпляра редактора, но до начала выполнения функции обратного вызова</li>
	<li style="text-align:justify;"><strong>setData.ckeditor</strong> : возникает когда данные передаются в редактор</li>
	<li style="text-align:justify;"><strong>getData.ckeditor</strong> : возникает в момент получения данных из редактора</li>
	<li style="text-align:justify;"><strong>destroy.ckeditor</strong> : возникает в момент уничтожения экземпляра редактора. Это событие можно использовать, например для обработки полученных от редактора данных, когда работа с ним завершена или очистки страницы.</li>
</ul><p style="text-align:justify;">Экземпляр редактора всегда передается первым параметром обработчику событий. События <strong>setData</strong> и <strong>getData</strong> часто используются самим редактором, так, что использовать их нужно с осторожностью.</p>

<p style="text-align:justify;">События jQuery поддерживают т.н. «bubble up»</p>
]]></description>
			<pubDate>пт, 19 мар 2010 19:32:00 +0300</pubDate>
			<link><![CDATA[https://lily-software.com/articles/jquery_ckeditor]]></link>
		</item>
	</channel>
</rss>