Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

127
Visualizações
La función Javascript dentro del polímero no es un error de función

Tengo una función javascript definida en polímero como tal: myTest(arg) {<do stuff here>}

Dentro de esta función, en función de algunas condiciones, quiero cambiar el onclick de un botón definido en la plantilla de polímero a alguna otra función. Para esto estoy haciendo document.getElementById('myButton').onclick = function() {myTest('someArg')};

El problema que tengo es que cuando se invoca la línea anterior, aparece un error

TypeError no detectado: myTest no es una función.

Si trato de usar la palabra clave de función al declarar la función, el compilador se queja

Símbolo inesperado. Se esperaba un constructor, método, descriptor de acceso o propiedad.

¿Cuál es la sintaxis correcta para cambiar la función onclick del botón?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Es difícil decirlo con seguridad sin ver el ejemplo completo del código fuente, pero parece que el problema al que se enfrenta está relacionado con JavaScript, que no infiere this como el contexto para llamar a métodos de instancia de la misma manera que, por ejemplo, Java. Para complicar más las cosas, this no tendría el valor esperado dentro de la function que crea para el detector de clics.

Una forma de evitarlo sería usar una función de flecha, ya que no están redefiniendo el contexto de ejecución:

 document.getElementById('myButton').onclick = () => { this.myTest('someArg') };

Otra alternativa es capturar this explícitamente en una variable separada y luego usar esa variable dentro de la función:

 var self = this; document.getElementById('myButton').onclick = function() { self.myTest('someArg') };
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda