Boa noite, estou com dois problemas neste exercicio. O primeiro é que mesmo com o comando "evento.preventDefaut();" o menu ainda aparece quando clico com o botão direito. O segundo problema é que aparece a seguinte mensagem no console javascript do meu Google Chrome: "Tiro com o botão esquerdo DisparoAV.html:13 Uncaught TypeError: Cannot read property 'pageX' of undefined DisparoAV.html:45 Tiro com o botão direito DisparoAV.html:25 Uncaught TypeError: Cannot read property 'pageX' of undefined"
Segue agora o meu código completo: (os espaços dados nos "< > " são propositais)
< meta charset="UTF-8" > < canvas id="tela" width="900" height="300">
< script >
var tela = document.getElementById("tela"); var c = tela.getContext("2d");
c.fillStyle = "gray"; c.fillRect(0,0,900,300);
var TiroAzul = function(event){ var x = event.pageX - tela.offsetLeft; var y = event.pageY - tela.offsetTop;
c.fillStyle = "blue"; c.beginPath(); c.arc(x,y,10,0,2*Math.PI); c.fill();
console.log("O disparo foi dado em: " + x + ", " + y); }
var TiroVermelho = function(event){ var x = event.pageX - tela.offsetLeft; var y = event.pageY - tela.offsetTop;
c.fillStyle = "red"; c.beginPath(); c.arc(x,y,10,0,2*Math.PI); c.fill();
console.log("O disparo foi dado em: " + x + ", " + y); evento.preventDefault(); }
//Botão esquerdo do mouse tela.onclick = function(evento){ console.log("Tiro com o botão esquerdo"); TiroAzul(); }
//Botão direito do mouse tela.oncontextmenu = function(evento){ console.log("Tiro com o botão direito"); TiroVermelho(); evento.preventDefault(); }
< /script >