Escolar Documentos
Profissional Documentos
Cultura Documentos
Licença Internacional.
ISBN 978-0-9997730-9-3
Machine Translated by Google
Tânia Rascia
2020-10
Machine Translated by Google
1. Sobre a DigitalOcean
2. Introdução
3. Introdução ao DOM
JavaScript
Machine Translated by Google
Sobre a DigitalOcean
e soluções de rede que ajudam os desenvolvedores a criar um ótimo software com mais rapidez.
Introdução
Muitas estruturas modernas, como React, Vue e Svelte abstraem muito do DOM
do desenvolvedor, mas as estruturas também usam o DOM sob o capô. A biblioteca
JavaScript jQuery também foi criada para facilitar o trabalho com o DOM, mas a
prática de desenvolvimento moderna é trabalhar diretamente com o DOM. Para ser
um desenvolvedor web proficiente, é essencial ter uma compreensão profunda do
que é o DOM e como trabalhar com ele. O objetivo deste livro é fornecer uma
compreensão básica do DOM, bem como explorar exemplos dos métodos mais
comuns e úteis para interagir com o DOM.
No entanto, se você ainda não está familiarizado com o conceito de DOM e da árvore
Introdução ao DOM
Quase sempre que um site realiza uma ação, como alternar entre
uma apresentação de slides de imagens, exibindo um erro quando um usuário tenta enviar
Pré-requisitos
Para entender efetivamente o DOM e como ele se relaciona com o trabalho com a web, é
O que é o DOM?
Machine Translated by Google
index.html
<!DOCTYPE html>
<html lang="en">
<cabeça>
<corpo>
<h1>Modelo de objeto de documento </h1> </
body>
</html>
Machine Translated by Google
contém os aspectos mais essenciais de um documento do site - um doctype e uma tag html
Para nossos propósitos, usaremos o navegador Chrome, mas você pode receber uma
saída semelhante de outro navegador moderno. No Chrome, abra index.html. Você verá
um site simples com nosso cabeçalho dizendo “Document Object Model”. Clique com o
botão direito do mouse em qualquer lugar da página e selecione "Inspecionar". Isso abrirá
as Ferramentas do desenvolvedor.
Exemplo de DOM
Nesse caso, quando expandido, parece exatamente igual ao código-fonte HTML que
O objeto do documento
O objeto de documento é um objeto interno que possui muitas propriedades e métodos
que podemos usar para acessar e modificar sites. Para entender como trabalhar com o
DOM, você deve entender como os objetos funcionam em JavaScript. Revisar Entendendo
console e pressione ENTER. Você verá que a saída é a mesma que você vê na guia
Elementos.
documento;
Machine Translated by Google
Saída
#documento
<!DOCTYPE html>
<html lang="en">
<cabeça>
<corpo>
<h1>Modelo de objeto de documento </h1> </
body>
</html>
Atualmente, com este exemplo, parece que o código-fonte HTML e o DOM são
exatamente a mesma coisa. Há duas instâncias em que o DOM gerado pelo
navegador será diferente do código-fonte HTML:
Machine Translated by Google
Vamos demonstrar como o DOM pode ser modificado pelo lado do cliente
JavaScript. Digite o seguinte no console:
documento.corpo;
O console responderá com esta saída:
Saída
<corpo>
<h1>Modelo de objeto de documento </h1> </
body>
Saída
Um exemplo comum disso é a tag table — uma tag tbody é necessária dentro
de uma tabela, mas os desenvolvedores muitas vezes falham em incluí-la em
seu HTML. O navegador corrigirá automaticamente o erro e adicionará o tbody,
modificando o DOM. O DOM também corrigirá tags que não foram
fechado.
Conclusão
Neste tutorial, definimos o DOM, acessamos o objeto de documento, usamos
JavaScript e o console para atualizar uma propriedade do objeto de documento
e examinamos a diferença entre o código-fonte HTML e o
DOM.
árvore, quais são os nós e como identificar os tipos de nós mais comuns.
Terminologia HTML
Entender a terminologia HTML e JavaScript é essencial para entender como trabalhar
a é a etiqueta
href é o atributo
Machine Translated by Google
index.html
<!DOCTYPE html>
<html lang="en">
<cabeça>
<title>Aprendendo o DOM</title>
</head>
<corpo>
<h1>Modelo de objeto de documento </h1>
</body>
</html>
com um id de nav.
Machine Translated by Google
index.html
...
<corpo>
<h1>Modelo de objeto de documento </h1>
<^><a id="nav" href="index.html">Página inicial</a><^>
</body>
...
Saída
Saída
< aid="nav"
href="https://www.wikipedia.org/">Navegue até
Wikipédia</a>
Neste ponto, você deve entender como usar um método de documento para
nós de elemento
nós de texto
Nós de comentário
Machine Translated by Google
chamada de árvore DOM. Você pode estar familiarizado com uma árvore genealógica
ancestral, que consiste em pais, filhos e irmãos. Os nós no DOM também são referidos
nós.html
<!DOCTYPE html>
<html>
<cabeça>
<corpo>
<h1>Um nó de elemento </h1>
<!-- um nó de comentário -->
Um nó de texto.
</body>
</html>
Observação: ao trabalhar com um DOM gerado por HTML, o recuo do código-fonte HTML criará
muitos nós de texto vazios, que não serão visíveis na guia Elementos do DevTools. Leia sobre
espaço em branco no
DOM
Identificando o tipo de nó
Machine Translated by Google
NTV E
sempre que você clicar e destacar qualquer linha no DOM, o valor de == $0 aparecerá
próximo a ela. Esta é uma maneira muito prática de acessar o elemento atualmente
Tipo de nó DOM
Saída
1
Saída
1
Além de nodeType, você também pode usar a propriedade nodeValue para obter o
index.html
<!DOCTYPE html>
<html lang="en">
<cabeça>
<title>Aprendendo o DOM</title>
</head>
<corpo>
<h1>Modelo de objeto de documento </h1>
<button id="changeBackground">Alterar
Cor de fundo </button>
</html>
js/scripts.js
deixar botão =
document.getElementById('changeBackground');
js/scripts.js
...
button.addEventListener('click', () => {
js/scripts.js
...
document.body.style.backgroundColor = 'fúcsia';
Machine Translated by Google
js/scripts.js
deixar botão =
document.getElementById('changeBackground');
button.addEventListener('click', () => {
document.body.style.backgroundColor = 'fúcsia';
});
Conclusão
Neste tutorial, revisamos a terminologia que nos permitirá entender e modificar o
DOM. Aprendemos como o DOM é estruturado como uma árvore de nós que
normalmente serão elementos HTML, texto ou comentários, e criamos um script
que permitiria ao usuário modificar um site sem precisar digitar manualmente o
código no console do desenvolvedor.
Machine Translated by Google
DOM é estruturado como uma árvore de objetos chamados nós, e esses nós podem ser
Visão geral
Aqui está uma visão geral da tabela dos cinco métodos que abordaremos neste tutorial.
G S S M
Marcação
demonstração getElementsByTagName()
para garantir que você está entendendo e retendo as informações que aprendeu.
Você pode salvar este arquivo HTML, access.html, em seu próprio projeto para
trabalhar com os exemplos junto com este artigo. Se você não tiver certeza de como
trabalhar com JavaScript e HTML localmente, revise nosso tutorial Como adicionar
JavaScript a HTML .
Machine Translated by Google
access.html
Machine Translated by Google
<!DOCTYPE html>
<html lang="en">
<cabeça>
<meta charset="utf-8">
<estilo>
html { font-family: sans-serif; cor: #333; }
corpo { largura máxima: 500px; margem: 0 automático;
preenchimento: 0 15px; }
div, artigo { preenchimento: 10px; margem: 5px;
borda: 1px sólido #dedede; }
</estilo>
</head>
<corpo>
<h2>ID (#demo)</h2>
<h2>Aula (.demo)</h2>
<div class="demo">Acesse -me pela aula (1)</div>
<div class="demo">Acesse -me pela turma (2)</div>
<h2>Tag (artigo)</h2>
<article>Acesse -me pela tag (1)</article> <article>Acesse
-me pela tag (2)</article>
<h2>Seletor de consultas</h2>
<div id="demo-query">Acesse -me por consulta</div>
</body>
</html>
A maneira mais fácil de acessar um único elemento no DOM é por meio de seu ID exclusivo.
document.getElementById();
Saída
<div id="demo">Acesse-me pelo ID</div>
document.getElementsByClassName();
Machine Translated by Google
document.getElementsByClassName('demo');
Neste ponto, você pode pensar que pode modificar os elementos da mesma
forma que fez com o exemplo de ID. No entanto, se tentarmos executar o seguinte
código e alterar a propriedade border dos elementos da classe demo para laranja,
obteremos um erro.
demoClass.style.border = '1px sólido laranja';
Saída
TypeError não detectado: não é possível definir a propriedade 'border'
de indefinido
A razão pela qual isso não funciona é porque, em vez de apenas obter um
elemento, temos um objeto semelhante a uma matriz de elementos.
console.log(demoClass);
Saída
(2) [div.demo, div.demo]
Machine Translated by Google
Quando executamos este código, nossa página ao vivo será renderizada assim:
Agora selecionamos todos os elementos da página que possuem uma classe de demonstração,
Uma maneira menos específica de acessar vários elementos na página seria pelo nome
método.
document.getElementsByTagName();
const demoTag =
document.getElementsByTagName('artigo');
Seletores de consulta
Se você tem alguma experiência com o jQuery API, você pode estar familiarizado com
jQuery
document.querySelector();
document.querySelectorAll();
O seletor para um atributo de classe é um ponto ou ponto final (.), para que possamos
const demoQueryAll =
document.querySelectorAll('.demo-query-all');
demoQueryAll.forEach(consulta => {
acessar qualquer elemento ou grupo de elementos no DOM da mesma forma que faria
em um arquivo CSS. Para obter uma lista completa de seletores, revise Seletores CSS
access.js
Machine Translated by Google
document.getElementsByClassName('demo');
const demoTag =
document.getElementsByTagName('artigo');
const demoQuery = document.querySelector('#demo
consulta');
const demoQueryAll =
document.querySelectorAll('.demo-query-all');
demoQueryAll.forEach(consulta => {
access.html
Machine Translated by Google
<!DOCTYPE html>
<html lang="en">
<cabeça>
<meta charset="utf-8">
<estilo>
html { font-family: sans-serif; cor: #333; }
corpo { largura máxima: 500px; margem: 0 automático;
preenchimento: 0 15px; }
div, artigo { preenchimento: 10px; margem: 5px;
borda: 1px sólido #dedede; }
</estilo>
</head>
<corpo>
<h2>ID (#demo)</h2>
<h2>Aula (.demo)</h2>
<div class="demo">Acesse -me pela aula (1)</div>
<div class="demo">Acesse -me pela turma (2)</div>
<h2>Tag (artigo)</h2>
<article>Acesse -me pela tag (1)</article> <article>Acesse
-me pela tag (2)</article>
<h2>Seletor de consultas</h2>
<div id="demo-query">Acesse -me por consulta</div>
<script src="access.js"></script>
</body>
</html>
Conclusão
Neste tutorial, examinamos 5 maneiras de acessar elementos HTML no
DOM — por ID, por classe, por nome de tag HTML e por seletor. O método
agora deve se sentir confiante para acessar qualquer elemento HTML em um documento
Configurar
nós.html
Machine Translated by Google
<!DOCTYPE html>
<html>
<cabeça>
<estilo>
* { border: 2px solid #dedede; preenchimento: 15px;
margem: 15px; }
html { margem: 0; preenchimento: 0; }
corpo { largura máxima: 600px; família de fontes: sans
serifa; cor: #333; }
</estilo>
</head>
<corpo>
<h1>Mundo Tubarão </h1>
<li>cabeça de martelo</li>
<li>Tigre</li>
<li>Grande Branco</li>
</ul>
</body>
Machine Translated by Google
<script>
const h1 = document.getElementsByTagName('h1')
[0];
const p = document.getElementsByTagName('p')[0];
const ul = document.getElementsByTagName('ul')
[0];
</script>
</html>
Quando carregarmos o arquivo em um navegador da web, veremos uma renderização que parece
página nodes.html
Nós Raiz
O objeto de documento é a raiz de cada nó no DOM. Este objeto é, na
verdade, uma propriedade do objeto janela, que é o objeto global de nível superior
Machine Translated by Google
objeto que representa uma guia no navegador. a janela objeto tem acesso a informações
janela.
Abaixo está um gráfico que consiste nos elementos raiz que cada documento
conterá. Mesmo que um arquivo HTML em branco seja carregado em um navegador, esses
P N NT
marca de script.
Nós Pais
Os nós no DOM são referidos como pais, filhos e irmãos, dependendo de sua relação
com outros nós. O pai de qualquer nó é o nó que está um nível acima dele ou mais
P G
parentNode Nó pai
Saída
ÿ <corpo>...</corpo>
Saída
ÿ <html>...</html>
Machine Translated by Google
Nós Filhos
Os filhos de um nó são os nós que estão um nível abaixo dele. Quaisquer nós além
de um nível de aninhamento são geralmente referidos como descendentes.
P G
ul.childNodes;
Saída
ÿ (7) [texto, li, texto, li, texto, li, texto]
Além dos três elementos li, ele também recebe quatro nós de texto. Isso
ocorre porque escrevemos nosso próprio HTML (não foi gerado por JavaScript) e
o recuo entre os elementos é contado no DOM como nós de texto.
ul.firstChild.style.background = 'amarelo';
[Saída do rótulo_secundário]
TypeError não detectado: não é possível definir a propriedade
'fundo' de indefinido
ul.firstElementChild.style.background = 'amarelo';
Machine Translated by Google
Ao executar o código acima, sua página da Web será atualizada para modificar a cor
de fundo.
modificação firstElementChild.style.background
JavaScript, as propriedades que selecionam todos os nós são mais prováveis de serem
usadas, pois novas linhas de espaço em branco e indentação não existirão neste caso.
element.style.background = 'amarelo';
}
Saída
"
"A principal fonte mundial sobre
<strong>tubarões</strong>
" informação relacionada."
document.body.children[3].lastElementChild.style.b
ackground = 'fúcsia';
O código acima encontrará o último elemento filho (li) do quarto elemento
filho (ul) de body e aplicará um estilo.
Machine Translated by Google
nós irmãos
Os irmãos de um nó são qualquer nó no mesmo nível de árvore no DOM.
Irmãos não precisam ser do mesmo tipo de nó - texto, elemento e
nós de comentário podem ser todos irmãos.
Machine Translated by Google
P G
tiger.previousElementSibling.style.background =
'água-marinha';
Executar este código deveria ter aplicado coral ao fundo de
Hammerhead e água-marinha ao fundo de Great White.
Machine Translated by Google
Conclusão
Neste tutorial, abordamos como acessar os nós raiz de cada documento
HTML e como percorrer a árvore DOM pelas propriedades pai, filho e irmã.
DOM. Usando esse conhecimento, um desenvolvedor pode usar classes, tags, ids e
seletores para encontrar qualquer nó no DOM e usar pai, filho e irmão
properties para encontrar nós relativos.
PM D
index.html
<!DOCTYPE html>
<html lang="en">
<cabeça>
<title>Aprendendo o DOM</title>
</head>
<corpo>
<h1>Modelo de objeto de documento </
h1> </body>
</html>
Machine Translated by Google
Clique com o botão direito do mouse em qualquer lugar da página e selecione "Inspecionar" para abrir
Saída
<p></p>
A variável de parágrafo produz um elemento p vazio, que não é muito útil sem
nenhum texto. Para adicionar texto ao elemento, vamos definir a propriedade
textContent.
paragrafo.textContent = "Sou um novo
parágrafo.";
console.log(parágrafo)
Saída
<p>Sou um novo parágrafo.</p>
texto em <strong>negrito</strong>.";
nó de texto.");
console.log(texto)
Saída
"Sou um novo nó de texto."
eles não são visíveis no front-end de um site até que tenham sido
inserido no documento.
PM D
nó irmão
Para praticar esses métodos, vamos criar uma lista de tarefas em HTML:
todo.html
<ul>
<li>Comprar mantimentos</li>
<li>Alimentar o gato</li>
<li>Lavar roupa</li>
</ul>
Para adicionar um novo item ao final da lista de tarefas, temos que criar
o elemento e adicione texto a ele primeiro, como fizemos em “Criando novos nós”
seção acima.
Agora que temos um elemento completo para nossa nova tarefa, podemos adicioná-lo
todoList.appendChild(newTodo);
Machine Translated by Google
todo.html
<ul>
<li>Comprar mantimentos</li>
<li>Alimentar o gato</li>
<li>Lavar roupa</li>
<li>Faça o dever de casa</li>
</ul>
parentNode.insertBefore(newNode, nextSibling);
todo.html
<ul>
<li>Pagar contas</li>
<li>Comprar mantimentos</li>
<li>Alimentar o gato</li>
<li>Lavar roupa</li>
<li>Faça o dever de casa</li>
</ul>
constmodifiedTodo = document.createElement('li');
parentNode.replaceChild(newNode, oldNode);
todo.html
<ul>
<li>Pagar contas</li>
<li>Compre mantimentos</li>
<li>Lave a roupa</li>
<li>Faça o dever de casa</li>
</ul>
Machine Translated by Google
M D
node.remove() Remover nó
Usando o exemplo de tarefas acima, queremos excluir itens depois que eles
concluído. Se você completou sua lição de casa, você pode remover o Do
item de lição de casa, que passa a ser o último filho da lista, com
removeCriança().
todoList.removeChild(todoList.lastElementChild);
todo.html
<ul>
<li>Pagar contas</li>
<li>Comprar mantimentos</li>
<li>Alimente o cachorro</li>
<li>Lave a roupa</li>
</ul>
Machine Translated by Google
Outro método poderia ser remover o próprio nó, usando o método remove()
diretamente no nó.
// Remove o segundo elemento filho de todoList
todoList.children[1].remove();
todo.html
<ul>
<li>Pague as contas</
li> <li>Alimente o cachorro</li>
<li>Lavar roupa</li>
</ul>
Machine Translated by Google
Conclusão
Neste tutorial, aprendemos como usar JavaScript para criar novos nós e
elementos e inseri-los no DOM, além de substituir e remover os existentes
nós e elementos.
Neste ponto da série Compreendendo o DOM você sabe como acessar
qualquer elemento no DOM, percorrer qualquer nó no DOM e
Machine Translated by Google
modificar o próprio DOM. Agora você pode se sentir confiante ao criar aplicativos da
Até recentemente, uma popular biblioteca JavaScript chamada jQuery foi usado com
mais frequência para selecionar e modificar elementos no DOM. jQuery simplificou o
processo de selecionar um ou mais elementos e aplicar alterações a todos eles ao mesmo tempo.
mesmo tempo. Em “Como acessar elementos no DOM,” revisamos o DOM
métodos para pegar e trabalhar com nós no JavaScript vanilla.
Para Reveja, document.querySelector() e
Acessando um único elemento, podemos facilmente atualizar uma parte do elemento como
como o texto dentro.
No entanto, ao acessar vários elementos por um seletor comum, como uma classe
específica, temos que percorrer todos os elementos da lista. No código abaixo, temos
dois elementos div com um valor de classe comum.
classe');
demoClasses.forEach(elemento => {
});
demoClasses[0];
Essa é uma das diferenças mais importantes a serem observadas ao progredir do jQuery
Nesses casos, você precisará usar um loop for padrão para iterar através do
coleção.
Modificando Atributos
Atributos são valores que contêm informações adicionais sobre HTML
img tag, o href de uma tag, classe, id e estilo. Para obter uma lista completa de atributos
Os elementos personalizados que não fazem parte do padrão HTML serão anexados
com dados-.
M D E
boleano
um elemento
Vamos criar um novo arquivo HTML com uma tag img com um atributo. Vamos criar um link
para uma imagem pública disponível por meio de um URL, mas você pode trocá-la por uma
attribute.html
<!DOCTYPE html>
<html lang="en">
<corpo>
<img src="https://js
tutorials.nyc3.digitaloceanspaces.com/shark.png">
</body>
</html>
img.hasAttribute('src'); // retorna
verdadeiro
img.getAttribute('src'); // retorna
"...tubarão.png"
img.removeAttribute('src'); // remova o
atributo e valor src
Neste ponto, você terá removido o atributo src e o valor associado a img, mas
pode redefinir esse atributo e atribuir o valor a um alternativo
Machine Translated by Google
img.setAttribute('src', 'https://js
tutoriais.nyc3.digitaloceanspaces.com/octopus.png');
img.src = 'https://js
tutorials.nyc3.digitaloceanspaces.com/shark.png';
Qualquer atributo pode ser editado desta forma, bem como com os métodos acima.
Machine Translated by Google
Modificando Classes
a classe O atributo corresponde aos seletores de classe CSS. Isso não deve ser
confundido com classes ES6, um tipo especial de função JavaScript.
As classes CSS são usadas para aplicar estilos a vários elementos, ao contrário
dos IDs, que só podem existir uma vez por página. Em JavaScript, temos o className
e classList properties para trabalhar com o atributo de classe.
Machine Translated by Google
M/PD E
valor de classe
mais classe
valores
ligado ou desligado
valor existe
valor com um
valor
Faremos outro arquivo HTML para trabalhar com os métodos da classe, com dois
elementos e algumas classes.
Machine Translated by Google
classes.html
Machine Translated by Google
<!DOCTYPE html>
<html lang="en">
<estilo>
corpo {
largura máxima: 600px;
margem: 0 automático;
família da fonte: sans-serif;
}
.ativo {
borda: 2px azul sólido ;
}
.aviso {
borda: 2px vermelho sólido ;
}
.oculto {
exibição: nenhum;
}
div {
borda: 2px tracejado cinza claro;
preenchimento: 15px;
margem: 5px;
}
</estilo>
Machine Translated by Google
<corpo>
<div>Div 1</div>
<div class="active">Div 2</div>
</body>
</html>
div.className = 'aviso';
activeDiv.classList.add('escondido'); //
Adicione a classe oculta
activeDiv.classList.remove('escondido'); //
Remova a classe oculta
activeDiv.classList.toggle('oculto'); //
Alternar entre verdadeiro e falso oculto
activeDiv.classList.replace('ativo', 'aviso'); //
Ao contrário do exemplo className, usar classList.add() adicionará uma nova classe à lista de
classes existentes. Você também pode adicionar várias classes como strings separadas por
Modificando Estilos
os estilos serão aplicados aos elementos por meio de uma folha de estilo, como fizemos
anteriormente neste artigo, mas às vezes temos que adicionar ou editar um estilo embutido diretamente.
Faremos um pequeno exemplo para demonstrar estilos de edição com JavaScript. Abaixo está
um novo arquivo HTML com um div que possui alguns estilos embutidos aplicados para exibir um
quadrado.
Machine Translated by Google
estilos.html
<!DOCTYPE html>
<html lang="en">
<corpo>
</body>
</html>
// Selecione a divisão
div.style.height = '100px';
div.style.width = '100px';
div.style.border = '2px preto sólido';
separadas por hífens. É importante observar que as propriedades CSS kebab-case não
podem ser usadas na propriedade de estilo JavaScript. Em vez disso, eles serão
substituídos por seu equivalente camelCase, que é quando a primeira palavra é minúscula
e todas as palavras subsequentes são maiúsculas. Em outras palavras, em vez de alinhar
div.style.borderRadius = '50%';
div.style.display = 'flex';
div.style.justifyContent = 'centro';
div.style.alignItems = 'centro';
Conclusão
Os elementos HTML geralmente têm informações adicionais atribuídas a eles na
forma de atributos. Os atributos podem consistir em pares nome/valor, e alguns
dos atributos mais comuns são classe e estilo.
Neste tutorial, aprendemos como acessar, modificar e remover atributos em um
elemento HTML no DOM usando JavaScript simples. Também aprendemos como
adicionar, remover, alternar e substituir classes CSS em um elemento e como editar
Machine Translated by Google
Embora neste ponto possamos agora fazer quase qualquer mudança que quisermos
Eventos são ações que ocorrem no navegador que podem ser iniciadas por
pode exibir mensagens para usuários, validar dados, reagir a um clique de botão e
objetos. Também abordaremos três maneiras diferentes de escrever código para lidar com
Machine Translated by Google
eventos e alguns dos eventos mais comuns. Ao aprender sobre os eventos, você poderá criar uma
Quando um usuário clica em um botão ou pressiona uma tecla, um evento é disparado. Eles são chamados
Um manipulador de eventos é uma função JavaScript que é executada quando um evento é acionado.
Um ouvinte de eventos anexa uma interface responsiva a um elemento, o que permite que esse elemento
fogo.
Analisaremos todos os três métodos para garantir que você esteja familiarizado com cada maneira de
método.
Para começar a aprender sobre manipuladores de eventos, vamos primeiro considerar o manipulador de
eventos inline. Vamos começar com um exemplo bem básico que consiste em um elemento de botão e um
elemento ap. Queremos que o usuário clique no botão para alterar o conteúdo do texto do p.
Vamos começar com uma página HTML com um botão no corpo. nós estaremos
eventos.html
<!DOCTYPE html>
<html lang="en-US">
<cabeça>
<title>Eventos</title>
</head>
<corpo>
<button>Clique em mim</button>
</body>
</html>
eventos.html
<!DOCTYPE html>
<html lang="en-BR">
<cabeça>
<title>Eventos</title>
</head>
<corpo>
<button onclick="changeText()">Clique
eu</button>
</body>
<script src="js/events.js"></script>
</html>
Vamos criar nosso arquivo events.js, que colocamos no diretório js/ aqui.
Dentro dela, criaremos a função changeText(), que modificará o textContent do
elemento p.
Machine Translated by Google
js/eventos.js
parágrafo
const p = document.querySelector('p');
Ao carregar o events.html pela primeira vez, você verá uma página que parece
como isso:
No entanto, quando você ou outro usuário clicar no botão, o texto da tag p mudará de Try
Finalidade educacional.
Você pode comparar manipuladores de eventos inline com estilos CSS inline em um HTML
classes do que criar estilos embutidos em cada elemento, assim como é mais
eventos.html
...
<corpo>
<button>Clique em mim</button>
<p>Vou mudar.</p>
</body>
...
js/eventos.js
Quando você carregar a página pela primeira vez, o navegador exibirá o seguinte:
Machine Translated by Google
o manipulador inline, mas ainda apresenta alguns dos mesmos obstáculos. Por
exemplo, tentar definir várias propriedades onclick separadas fará com que todas,
exceto a última, sejam substituídas, conforme demonstrado abaixo.
js/eventos.js
const p = document.querySelector('p');
alert('Vou alertar?');
button.onclick = changeText;
button.onclick = alertText;
Ouvintes de eventos
eventos.html
...
<button>Clique em mim</button>
<p>Vou mudar.</p>
...
js/eventos.js
Observe que com os dois primeiros métodos, um evento de clique foi referido como
onclick, mas com ouvintes de evento é referido como click. Cada ouvinte de evento
eventos.
js/eventos.js
const p = document.querySelector('p');
alert('Vou alertar?');
button.addEventListener('click', changeText);
button.addEventListener('click', alertText);
button.addEventListener('click', () => {
button.removeEventListener('click', alertText);
e objeto de janela.
Eventos Comuns
eventos e ouvintes de eventos usando o evento click, mas há muitos outros eventos
Eventos do mouse
Os eventos de mouse estão entre os eventos usados com mais frequência. Eles se referem a
E D
respectivamente.
Eventos de formulário
Eventos de formulário são ações que pertencem a formulários, como elementos de entrada
E D
O JavaScript costuma ser usado para enviar formulários e enviar os valores para uma
linguagem de back-end. A vantagem de usar JavaScript para enviar formulários é que ele não
requer um recarregamento de página para enviar o formulário, e o JavaScript pode ser usado
Eventos de Teclado
Eventos de teclado são usados para lidar com ações de teclado, como pressionar uma tecla,
E D
ouvinte de evento, podemos acessar mais informações sobre a ação que ocorreu
Lugar, colocar. Três propriedades que pertencem a objetos de teclado incluem keyCode,
chave e código.
P D E
Para mostrar como coletar essas informações por meio do Console JavaScript,
pode escrever as seguintes linhas de código.
});
Saída
código-chave: 65
chave: um
código: KeyA
change — por exemplo, pressionar a com SHIFT resultaria em uma tecla A. A propriedade
em novos projetos.
Para saber mais, você pode ver a lista completa de eventos na Mozilla Developer
Network.
Objetos de evento
acessar. Além do objeto Event genérico, cada tipo de evento possui suas próprias
Para experimentá-lo, crie um arquivo HTML básico com tags <p> e carregue-o em um
navegador.
Machine Translated by Google
evento-teste-p.html
<!DOCTYPE html>
<html lang="en-US">
<cabeça>
<title>Eventos</title>
</head>
<corpo>
<p></p>
</body>
</html>
Console.
Machine Translated by Google
var a = 'ChaveA';
var s = 'ChaveS';
var d = 'ChaveD';
var w = 'ChaveW';
caso a:
element.textContent = 'Esquerda';
pausa;
caso :
element.textContent = 'Inativo';
pausa;
caso d:
element.textContent = 'Direito';
pausa;
caso w:
}
});
Machine Translated by Google
semelhante ao seguinte:
usuário que pressiona essas teclas e pode criar um ambiente mais dinâmico
local na rede Internet.
evento-teste-div.html
<!DOCTYPE html>
<html lang="en-US">
<cabeça>
<title>Eventos</title>
</head>
<corpo>
<seção>
<div id="one">Um</div>
<div id="two">Dois</div>
<div id="three">Três</div>
</section>
</body>
</html>
console.log(event.target);
});
Conclusão
Eventos são ações que ocorrem em um site, como clicar, passar o mouse,
enviar um formulário, carregar uma página ou pressionar uma tecla no teclado.
JavaScript torna-se verdadeiramente interativo e dinâmico quando somos capazes de
fazer com que os sites respondam às ações do usuário.
Neste tutorial, aprendemos o que são eventos, exemplos de
eventos, a diferença entre manipuladores de eventos e ouvintes de eventos e como
para acessar o objeto Evento. Usando esse conhecimento, você será capaz de
começar a fazer sites e aplicativos dinâmicos.