Integração do CKEditor com jQuery

O jQuery é uma biblioteca fantástica. O CKEditor é o editor mais completo. Por quê não juntar os dois? Este tutorial mostra como fazer isso. Um dos grandes ganhos desta integração é que fica muito fácil manipular o "baixo nível" do CKEditor, principalmente se for salvar o conteúdo do editor com AJAX.

Pra começar, baixe a última versão do jQuery. Baixe o CKEditor. Extraia o CKEditor para uma pasta e coloque o jQuery na mesma pasta. O CKEditor já vem com um mecanismo que permite essa integração. Ele está localizado na pasta "adapters/jquery.js" e deve ser incluído no HTML da página.


Instalação básica

	<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
	<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
	<script type="text/javascript" src="ckeditor/adapters/jquery.js"></script>

	<script type="text/javascript">
	$(document).ready(function(){
		$('#editor').ckeditor();
	});
	</script>

	<form method="post">
		<textarea name="editor" id="editor"></textarea>
	</form>

Instalação com parâmetros

O CKEditor também aceita dois parâmetros: uma função de callback e os parâmetros de configuração do editor. Veja o exemplo:

	<script type="text/javascript">
	$(document).ready(function(){
		$('#editor').ckeditor(function(){
			$('#resposta').html('<span style="color:red; font-weight: bold">CKEditor carregado!</span>');
			},
			{
				width: 780,
				height: 350
		});
	});
	</script>

	<textarea name="editor" id="editor"></textarea>

	<div id="resposta"></div>

Quando o editor for carregado no exemplo acima, a DIV resposta receberá algum texto. No segundo parâmetros, passamos a largura e altura do editor. Você pode consultar a documentação da API para conhecer as opções de configuração.

Manipulando o editor

Você também pode trabalhar com várias instâncias do editor na mesma página, setar e recuperar valores. Veja um exemplo:

	$(document).ready(function(){
		$('#editor').ckeditor(function(){
			$('#resposta').html('<span style="color:red; font-weight: bold">CKEditor carregado!</span>');

			var editor = $('#editor').ckeditorGet();

			// Capturando o conteúdo do editor
			var data = $('#editor').val();
			// Adicionando conteúdo ao editor
			$('#editor').val('<a href="http://www.fonini.net">www.fonini.net</a>');
		},
		{
			width: 780,
			height: 350
		});
	});


Demo

Veja um demo online, clicando aqui.

Abraço e até a próxima!

7 comentários para “Integração do CKEditor com jQuery”

  1. Anibal Sólon disse:

    Ah, isso é massa! Não sou acostumado a usar isso em PHP, mas com Javascript rola geral

  2. Kr mto bom esse artigo parabens

  3. tresloukadu disse:

    Opa, dica muito boa só vou deixar uma contribuição ai para ajudar o pessoal caso enfrentarem problemas como o meu. O meu problema é que o meu editor é recuperado através de request. A primeira vez ele vem OK a segunda vez não aparece mais na tela. Para resolver isso tem que matar a instância do editor que fica na memória antes de enviar ele novamente. A solução é a seguinte:

    Observe que a cerquilha não vai no IF pois é codigo da API do ckeditor somente vai na outra parte pois é o código do jquery. Com isso o editor aparece na tela vindo através de request.

  4. tresloukadu disse:

    brother o teu equema de commmentes comeu o codigo.. vai aqui http://pastebin.com/BWPxPXhj

  5. Ronaldo Aires disse:

    Olá amigo, otimo tutorial, mais não poderia ensinar como fazer para enviar o texto salvo ao banco de dados? abraço e parabens...

  6. Rafael Daniel disse:

    Vale [b]tresloukadu [/b]me salvou so nao esquece de dizer que o codigo esta aqui http://pastebin.com/BWPxPXhj e deve ser usado assim pra funcionar

    [b]CKEDITOR.instances['NameTeuTextArea'][/b]

  7. Tarcísio disse:

    Alguém sabe como remover o \n que ele coloca no inicio de cada linha? ;x

Comente você também

* Copie este código:

* Cole ou digite o código aqui:

Google