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
| Evento | O handler recebe | Disparado 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
| Evento | O handler recebe | Disparado 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
| Evento | O handler recebe | Disparado 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
| Evento | O handler recebe | Disparado 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
| Evento | O handler recebe | Disparado 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
| Evento | O handler recebe | Disparado 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.