Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Sugestão] resolução do exercício

usei add.EventListener e Tambem adicionei um botao para limpar o campo do numero

const listaDeTeclas = document.querySelectorAll('.tecla')

for (let contador = 0; contador < listaDeTeclas.length; contador++){
  const teclas = listaDeTeclas[contador];  
  const tecla = teclas.classList[1];

  listaDeTeclas[contador].addEventListener('click', function(){
    let tela  = document.querySelector('#campoNumero').value; 
    tela = teclas.value;
    document.querySelector('#campoNumero').value += tela;

  })

}
listaDeTeclas[12].addEventListener('click', limparTela);
function limparTela (){
  document.querySelector('#campoNumero').value = '';
}

css

* {
  box-sizing: border-box;
/*   margin: 0;
  padding: 0; */
}

body {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;

  background-color: #191919;
  min-height: 100vh;
}

input {
  border: none;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-family: inherit;
}

h1 {
  font-family: 'Montserrat', sans-serif;
  font-size: 24px;
  color: #fff;
}

.teclado {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px; 

  background-color: #cccccc;
  border-radius: 30px;

  padding: 10px;
}

input[type=button] {
  border-radius: 20px;
  cursor: pointer;
  font-family: 'Montserrat', sans-serif;
  height: 80px;
  width: 80px;
}

input[type=tel] {
  background-color: #cccccc;
  border-radius: 10px;
  font-family: monospace;
  font-size: 22px;
  height: 40px;
  margin-bottom: 24px;
  padding: 10px;
  text-align: center;
  width: 280px;
}

.ativa {
  background-color: yellow;
}

html

<h1> Alura Fone </h1>
<input id = 'campoNumero'type="tel" placeholder="Digite seu telefone">
 <section class="teclado">
    <input class="tecla tecla1" type="button" value="1">
    <input class="tecla tecla2" type="button" value="2">
    <input class="tecla tecla3" type="button" value="3">
    <input class="tecla tecla4" type="button" value="4">
    <input class="tecla tecla5" type="button" value="5">
    <input class="tecla tecla6" type="button" value="6">
    <input class="tecla tecla7" type="button" value="7">
    <input class="tecla tecla8" type="button" value="8">
    <input class="tecla tecla9" type="button" value="9">
    <input class="tecla tecla0" type="button" value="0">
    <input class="tecla tecla*" type="button" value="*">
    <input class="tecla tecla#" type="button" value="#">    
    <input class="tecla teclaLimp" type="button" value="Limpar">
  </section>
2 respostas
solução!

Olá Thiago, tudo bem?

Muito obrigada por mandar aqui o seu código.

Sua sugestão de adicionar um botão para limpar o campo do número foi muito boa, pois facilita a vida do usuário caso ele cometa algum erro na digitação.

A utilização do addEventListener também foi uma ótima escolha para capturar o evento de clique nas teclas da calculadora. E a função limparTela que você criou para limpar o campo do número funciona perfeitamente.

Continue praticando e aprimorando seus conhecimentos em JavaScript.

Espero ter ajudado.

Um abraço e bons estudos.

Obrigado !!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software