← Toda a documentação

Todos os eventos

Escute com editor.attachEvent(name, handler) e pare de escutar com editor.detachEvent(name, handler). Dentro de um handler, this é a instância do editor. Alguns eventos são canceláveis: eles recebem primeiro um objeto state, e definir state.returnValue = true informa ao editor que você tratou o evento.

Exemplo

editor.attachEvent("change", function () {
    document.getElementById("dirty").hidden = false;
});

// Some events let you take over. Set state.returnValue = true to say "handled",
// and the editor skips its own action.
editor.attachEvent("exec_command_newdoc", function (state, cmd, value) {
    state.returnValue = true;
    this.setHTMLCode("<p>New document</p>");
});

editor.detachEvent("change", myHandler);

Edição e ciclo de vida

EventoO handler recebeDisparado quando
ready()A partir do core 2.6.10. Uma vez, depois que o editor é construído e seu conteúdo inicial é carregado. É disparado de forma assíncrona, então um handler conectado logo após new RichTextEditor(...) ainda o recebe; um conectado depois é chamado no próximo tick. config.onready também o recebe.
aftersethtml()A partir do core 2.6.10. Depois que setHTMLCode substituiu o conteúdo (também com { undoable: true }), uma vez por chamada, e quando o editor volta da visualização do código-fonte HTML. Não enquanto a visualização do código-fonte está aberta. Um carregamento não é uma edição: nenhum evento change vem em seguida, e as atualizações que o seu handler fizer passam a fazer parte do documento carregado.
panelresized(info)A partir do core 2.6.11. Um painel lateral tornado redimensionável com editor.makePanelResizable (comentários, sumário e similares) foi redimensionado arrastando sua borda ou com ArrowLeft / ArrowRight / Home / End. info é { panel, width }, o elemento do painel e sua nova largura em pixels.
change()O conteúdo mudou: digitação, um comando, colagem, desfazer. Com debounce, então uma sequência rápida de digitação gera um único evento.
contentchange()O conteúdo mudou, informado pelo plugin de segurança de conteúdo após sua própria passagem.
selectionchange()O cursor se moveu ou a seleção mudou, inclusive quando um controle é selecionado.
focus(event)A área de edição recebeu o foco (focusin do documento editável).
blur(event)A área de edição perdeu o foco (focusout).
documentreplaced(document)A partir do core 2.6.10. O frame de edição foi movido e agora tem um NOVO documento (alguns plugins envolvem a área de edição em um painel na inicialização). Os listeners vinculados com editor.bindDocumentEvent / bindEditableEvent são reconectados para você; leia de novo tudo o que você guardou de getDocument() ou getEditable().
keydown(event)Uma tecla foi pressionada dentro da área de edição. O KeyboardEvent nativo é repassado.
keyup(event)Uma tecla foi solta dentro da área de edição.
keypress(event)Uma tecla de caractere foi pressionada dentro da área de edição.
resize()O editor foi redimensionado, inclusive quando o usuário arrasta o canto de redimensionamento.
change_html_view(isCodeMode)O editor alternou entre a visualização WYSIWYG e a visualização do código-fonte HTML.
copyheadinglink(url, headingId)O usuário clicou no botão de link ao lado de um título (config.copyHeadingLink). url é o endereço da página com #headingId; o editor já tentou copiá-lo para a área de transferência.
destroy()destroy() foi chamado. Desconecte aqui os seus próprios listeners e sockets.

Comandos e caixas de diálogo

EventoO handler recebeDisparado quando
exec_command(state, command, value)Qualquer comando está prestes a ser executado. Disparado para todos os comandos, depois do evento específico do comando, descrito abaixo. Cancelável: defina state.returnValue = true para tratá-lo você mesmo.
exec_command_<name>(state, command, value)Um comando específico está prestes a ser executado, por exemplo exec_command_newdoc, exec_command_bold. Use-o para substituir esse comando. Cancelável: defina state.returnValue = true para tratá-lo você mesmo.
customdialog(state, name, message)O editor está prestes a mostrar uma de suas próprias caixas de diálogo ou alertas, por exemplo uploadfailed, uploadtoobig, reachmaxlength. Mostre a sua no lugar. Cancelável: defina state.returnValue = true para tratá-lo você mesmo.
charlimit({ chars, words, overChars, overWords })O conteúdo ultrapassou um limite de caracteres ou de palavras definido pelo plugin de estatísticas.

Uploads

EventoO handler recebeDisparado quando
uploadprogress(file, loaded, total)Bytes foram enviados, quando o uploader integrado (file_upload_url) está em uso e o navegador informa o progresso.
uploadretry(file, attempt, error)Um upload falhou e está sendo repetido, uma vez por tentativa. Veja uploadRetryCount.
uploadcancel(file, reason)Um upload foi cancelado: "cancel" por cancelUploads(), "removed" quando a imagem dele foi excluída, ou "destroy".

Salvamento automático

EventoO handler recebeDisparado quando
autosaved(timestamp)config.autoSave salvou o conteúdo com sucesso.
autosavefailed(error, attempt)Um salvamento automático falhou. attempt é 0 na primeira falha e depois 1, 2… à medida que tenta de novo.

Comentários, controle de alterações e revisões

EventoO handler recebeDisparado quando
comment_added({ id, text, author })Um comentário foi adicionado.
comment_resolved({ id })Um comentário foi resolvido.
commentsonlychanged(name, isCommentsOnly)O editor entrou no modo somente comentários ou saiu dele.
review_decision_denied(detail)Um usuário sem permissão tentou aceitar ou rejeitar uma alteração controlada.
revision_snapshot({ id, label, isNamed, createdAt })O plugin de histórico de revisões armazenou uma versão.
revision_history_sync_error(detail)O plugin de histórico de revisões não conseguiu acessar seu armazenamento.
linkcheck(issues)O verificador de links concluiu uma passagem; issues é o array de problemas encontrados.

Prévia de builds a partir do código-fonte

Estes eventos existem em builds mais recentes compiladas a partir do código-fonte, não em todos os bundles lançados nem nos assets de demonstração atuais deste site. Use uma build de core/plugin correspondente e testada; conectar um handler não adiciona um evento a um runtime mais antigo.

Notificações de eventos que dependem da versão

EventoO handler recebeDisparado quando
autolink(href, typedText)Builds mais recentes do core a partir do código-fonte: depois que o texto digitado foi convertido em link. href é o endereço resultante; typedText é a palavra original. É uma notificação, não um hook cancelável executado antes do link. Cores lançados mais antigos podem não dispará-lo.
comment_reacted({ id, emoji, user })Builds mais recentes do plugin de reações a comentários: uma pessoa alternou um emoji em um comentário. id é o id do comentário e user é o id do usuário atual como string. É disparado tanto ao adicionar quanto ao remover uma reação; leia as reações da entrada em reviewLedger para obter o estado resultante. Ele não envia e-mail nem autoriza uma operação no servidor.

Os eventos de upload, salvamento automático e revisão exigem que o recurso/plugin correspondente esteja carregado. Veja exec_command para interceptar comandos, Enviar arquivos para as opções de upload e Referência de configuração para autoSave.