Se o senhor começou com o antigo on_____ ou com a propriedade addEventListener, o senhor sabe que os eventos impulsionam as experiências do usuário no JavaScript moderno. Se o senhor já trabalhou com eventos, sabe que preventDefault() e stopPropagation() são usados com frequência para lidar com eventos. Uma coisa que o senhor provavelmente não sabia: existe um defaultPrevented sobre eventos!

Considere o seguinte bloco de código:

// Specific to a link
const link = document.querySelector('#my-link');
link.addEventListener('click', e => e.preventDefault());

// A larger document scope
document.addEventListener('click', documentClickHandler);
function documentClickHandler(event) {
    if (event.defaultPrevented) {// Using the property
        // Do one thing if the click has been handled
    }
    else {
        // Otherwise do something fresh
    }
}

Quando preventDefault é chamado em um determinado evento, o defaultPrevented é alternada para true. Devido à propagação de eventoso evento borbulha para cima com o seguinte defaultPrevented valor.

Há duas décadas venho lidando com eventos e não sabia que essa propriedade existia até agora. O que é ótimo no defaultPrevented é que ela permanece com o evento sem a necessidade de rastreá-lo globalmente!

  • Como criar um RetroPie no Raspberry Pi - Guia gráfico

    Hoje em dia, podemos jogar jogos incríveis em nossos consoles de jogos superpotentes, PCs, headsets de RV e até mesmo em dispositivos móveis. Embora eu goste de jogar novos jogos hoje em dia, tenho saudades dos sistemas de jogos retrô que eu tinha quando era criança: o Nintendo original…

  • 9 demonstrações de telas alucinantes

    O <canvas> tem sido uma revelação para os especialistas em visual entre nós. O Canvas fornece os meios para animações incríveis e eficientes com o bônus adicional de não usar Flash; em vez disso, esses desenvolvedores podem exibir suas incríveis habilidades em JavaScript. Aqui estão nove demonstrações inacreditáveis de canvas que…

  • Como adicionar eventos ao Adicionar eventos no MooTools

    Observação: esta postagem foi atualizada. Uma das minhas maiores irritações na Web é quando um elemento tem eventos de clique anexados a ele, mas o elemento não exibe o cursor do “ponteiro”. Quero dizer, como diabos o usuário deve saber que pode/deve clicar em…

  • Transferências de seleção múltipla usando o MooTools 1.2