Eu gostaria de ver todos os eventos disparados por um campo de entrada conforme um usuário interage com ele. Isso inclui coisas como:
- Clicando nele.
- Clicando fora dele.
- Tabulando para ele.
- Tabbing longe dele.
- Ctrl+ Ce Ctrl+V no teclado.
- Clique com o botão direito -> Colar.
- Clique com o botão direito -> Cortar.
- Clique com o botão direito -> Copiar.
- Arrastar e soltar texto de outro aplicativo.
- Modificando com Javascript.
- Modificando-o com uma ferramenta de depuração, como Firebug.
Eu gostaria de exibi-lo usando console.log
. Isso é possível em Javascript / jQuery e, em caso afirmativo, como faço isso?
javascript
jquery
events
dom-events
Daniel T.
fonte
fonte
Respostas:
Isso lhe dará muitas (mas não todas) as informações sobre se um evento é disparado ... além de codificá-lo manualmente assim, não consigo pensar em nenhuma outra maneira de fazer isso.
fonte
function
, e da mesma forma :).blur
à sua lista de eventos.Não tenho ideia de por que ninguém usa isso ... (talvez porque seja apenas uma coisa de webkit)
Abra o console:
fonte
monitorEvents
não fornece informações relevantes sobre isso, também, eu suspeito que isso seja muito fora do padrãomonitorEvents($0, 'mouse');
registrar todos os eventos de um elemento inspecionado (clique com o botão direito> "Inspecionar"). ( briangrinstead.com/blog/chrome-developer-tools-monitorevents )Existe uma boa maneira genérica de usar a coleção .data ('eventos'):
Isso registra todos os eventos que já foram vinculados ao elemento por jQuery no momento em que esse evento específico é acionado. Este código foi muito útil para mim muitas vezes.
A propósito: se você quiser ver todos os eventos possíveis sendo disparados em um objeto, use firebug: apenas clique com o botão direito do mouse no elemento DOM na guia html e marque "Log Events". Cada evento é então registrado no console (isso às vezes é um pouco chato porque registra cada movimento do mouse ...).
fonte
fonte
Eu sei que a resposta já foi aceita para isso, mas acho que pode haver uma maneira um pouco mais confiável, onde você não precisa necessariamente saber o nome do evento de antemão. Isso só funciona para eventos nativos, embora eu saiba, não para eventos personalizados que foram criados por plug-ins. Optei por omitir o uso de jQuery para simplificar um pouco as coisas.
Espero que isso ajude quem ler isso.
EDITAR
Então, eu vi outra pergunta aqui que era semelhante, então outra sugestão seria fazer o seguinte:
fonte
Tópico antigo, eu sei. Eu precisava também de algo para monitorar eventos e escrevi esta solução muito útil (excelente). Você pode monitorar todos os eventos com este gancho (na programação do Windows, isso é chamado de gancho). Este gancho não afeta a operação do seu software / programa.
No log do console, você pode ver algo assim:
Explicação do que você vê:
No log do console você verá todos os eventos que selecionar (veja abaixo "como usar" ) e mostra o tipo de objeto, nome (s) de classe, id, <: nome da função>, <: nome do evento>. A formatação dos objetos é semelhante a css.
Ao clicar em um botão ou em qualquer evento vinculado, você o verá no log do console.
O código que escrevi:
Exemplos de como usar:
Monitore todos os eventos:
Monitore apenas todos os gatilhos:
Monitore todos os eventos ON apenas:
Monitore todos os desligamentos OFF apenas:
Observações / Aviso:
Espero que ajude! ;-)
fonte
https://github.com/robertleeplummerjr/wiretap.js
fonte
HTMLElement.prototype.addEventListener
e provavelmente não deveria ser usado em produção, mas já foi uma grande ajuda para fins de depuração.Basta adicionar isso à página e sem outras preocupações, cuidarei do resto para você:
Você também pode usar console.log ('Evento de entrada:' + e.type) para torná-lo mais fácil.
fonte
function
, e da mesma forma :).$('input').data('events')
e retorna indefinido.PASSO 1: Verifique se
events
há umHTML element
nodeveloper console
:ETAPA 2: Ouça o
events
que queremos capturar:Boa sorte...
fonte
Recentemente encontrei e modifiquei este trecho de um post existente do SO que não consegui encontrar novamente, mas achei muito útil
fonte
Isso usa um pouco de ES6 para beleza, mas pode ser facilmente traduzido para navegadores legados também. Na função anexada aos ouvintes de evento, atualmente está apenas registrando o tipo de evento ocorrido, mas é aqui que você pode imprimir informações adicionais ou, usando um caso de switch no
e.type
, você só pode imprimir informações sobre eventos específicosfonte
Esta é uma maneira não jquery de monitorar eventos no console com o seu código e sem o uso de monitorEvents () porque isso só funciona no Chrome Developer Console. Você também pode optar por não monitorar certos eventos editando o array no_watch.
fonte