Estou usando o martelo para arrastar e está ficando irregular ao carregar outras coisas, como esta mensagem de aviso está me dizendo.
A manipulação do evento de entrada 'touchstart' foi atrasada por X ms devido ao segmento principal estar ocupado. Considere marcar o manipulador de eventos como 'passivo' para tornar a página mais responsiva.
Então eu tentei adicionar 'passivo' ao ouvinte assim
Hammer(element[0]).on("touchstart", function(ev) {
// stuff
}, {
passive: true
});
mas ainda estou recebendo esse aviso.
preventDefault()
- é possível suprimir esse aviso?Isso oculta a mensagem de aviso:
fonte
preventDefault()
, especifiquepassive: false
. Caso contrário, especifiquepassive: true
. Você só recebe o aviso se não especificar também. Se você especificarpassive: true
epreventDefault()
for chamado, isso resultará em um erro e o padrão não será impedido. A especificaçãopassive
não é um hack aqui. É a solução . É o que o aviso pede!Também encontre isso no plug-in suspenso select2 no Laravel. Alterando o valor conforme sugerido por Alfred Wallace de
para
resolve o problema. Por que ele tem voto negativo, eu não sei, mas funciona para mim.
fonte
Para aqueles que enfrentam problemas herdados, encontre a linha que lança o erro e adicione
{passive: true}
- por exemplo:torna-se
fonte
Encontrei uma solução que funciona no jQuery 3.4.1 slim
Depois de desminificar, adicione
{passive: true}
à função addEventListener na linha 1567 da seguinte forma:t.addEventListener(p, a, {passive: true}))
Nada quebra e as auditorias de farol não reclamam dos ouvintes.
fonte