Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
4
respuestas

Tengo un problema

Copié el código tal cual lo escribió Christian (igualmente lo escribo abajo), pero al momento de hacer click en el rectángulo gris, no me salta la alerta de "usted hizo un clic", ni me sale por la consola las coordenadas donde hice los click. ¿Alguien sabe que puede estar pasando?

¡Gracias!

<canvas width="600" height = "400"></canvas>

<script>

    var pantalla = document.querySelector("canvas");
    var pincel = pantalla.getContext("2d");

    pincel.fillStyle="grey";
    pincel.fillRect(0,0,600,400);

    function exibirAlerta(evento){
        console.log(evento)
        alert("usted hizo un clic");
    }

    pantalla.onclick + exibirAlerta;



</script>
4 respuestas
solución!

Hola que tal Alejandro. Hay un error en la anteultima linea del código pusiste pantalla.onclick + exibirAlerta;

Por lo que no le estas asignando nada a pantalla al hacerle click.

deberías poner pantalla.onclick = exibirAlerta;

Y asi te funcionara si es que no hay ningun otro error

Espero haberte sido de ayuda!

Muchas gracias, Laureano, ¡¡efectivamente era ese el error!!

Hola Alejandro, al validar el código encontré varios errores y uno es que no se reconocía la función: "checkTime". Al hacerlos in esa función sí opera el código. La solución fue definirla al principio. Mira como quedó.

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Fifa</title>
  </head>
  <body>
    <h1> PROGRAMA CON CANVAS, COORDENADA Y LA HORA </h1>
  </body>
</html>

<canvas width="600" height="400"> </canvas>

<script>
  var pantalla = document.querySelector("canvas");
  var pincel = pantalla.getContext("2d");

  pincel.fillStyle = "lightgreen"; // es una caractaristica, propiedad o vble
  pincel.fillRect(0,0,600,400);  //es ua función

  function mostrarMensaje(evento){
    function checkTime(i){
      if (i<10){
        i="0" + i;
        }
        return i;
      }
    var x = evento.pageX - pantalla.offsetLeft; //pos x
    var y = evento.pageY - pantalla.offsetTop; //pos y
    var d = new Date(); //crea una variable de tipo date
    var hora = checkTime(d.getHours()) + ":" + checkTime(d.getMinutes()) + ":" + checkTime(d.getSeconds());
        //Verifica si el número de las horas, minutos o segundos, tiene un solo dígito, 
        //caso positivo le adiciona el cero en la frente para obtener el formato deseado 00:00:00
      alert("La hora es: " + hora + " y las coordenadas son: x=" + x + ", y=" + y);
    }

    // Aquí viene la llamada a la función con el evento onclick
    pantalla.onclick = mostrarMensaje;



</script>

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Hola, Jorge, no entiendo la relación entre tu comentario y mi publicación.