Entendendo captura e propagação de eventos

Se um elemento e um de seus ancestrais tiverem ambos listeners definidos para o mesmo evento, qual deles deverá ser disparado primeiro? Não surpreendentemente, depende do navegador.
Continue lendo →
Se um elemento e um de seus ancestrais tiverem ambos listeners definidos para o mesmo evento, qual deles deverá ser disparado primeiro? Não surpreendentemente, depende do navegador.
Continue lendo →
Transições em interfaces podem ser mais do que algo “bonitinho”. Se usadas de forma correta, elas não só melhoram a aparência da aplicação como também sua funcionalidade, diminuindo o esforço cognitivo do usuário e deixando assim mais claro, por exemplo, uma troca de contexto. Abaixo segue a tradução, com a devida permissão, do excelente post do Pasquale D’Silva sobre como melhor utilizar transições em interfaces.
Continue lendo →
Vazamento de memória é um problema apenas de linguagens de baixo nível, como C ou C++. Nós não precisamos nos preocupar com isso, afinal, a linguagem possui um lindíssimo coletor de lixo e malloc é coisa do passado. Então, se houver vazamento de memória em JS, será um problema de implementação da linguagem, e não do programador. Certo?

Adivinha quem tá fazendo aniversário! Mais precisamente, 1 ano de vida!
Continue lendo →
A Battery API permite que tenhamos acesso a informações sobre a bateria do nosso dispositivo – seja ele um dispositivo móvel (smartphone ou tablet) ou um laptop. Veja o status da sua bateria neste pequeno exeperimento que desenvolvi a la windows 8.
Continue lendo →