Sto studiando jquery e html5 su tela. Tutto quello che voglio fare è un semplice esempio di disegno html5. Quando il mouse si muove, disegno dei quadrati rossi sotto il mio mouse.ottenere la posizione del mouse con javascript all'interno di tela
Il mio codice è semplice, ma ho un problema nel posizionare il cursore del mouse all'interno dell'area di disegno.
In questo momento, sto usando x = event.offsetX; per ottenere la posizione del mouse. Questo funziona molto bene in chrome, tuttavia quando si tratta di Firefox, non funziona. Ho cambiato il codice in x = event.layerX. ma sembra che layerX sia la posizione del mio mouse rispetto alla pagina web, non la posizione della tela. perché vedo sempre un offset.
Ho due domande, in primo luogo, qual è la cosa giusta da fare per ottenere la posizione corretta del mouse con firefox. secondo, come posso scrivere un codice che funzioni per esempio, firefox, chrome, safari e opera?
Ecco il mio codice:
<!doctype html />
<html><head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(
function(){
var flip = document.getElementById('flip');
var context = flip.getContext('2d');
context.fillStyle = "rgb(255,255,255)";
context.fillRect(0, 0, 500, 500);
$("a").click(function(event){alert("Thanks for visiting!");});
$("#flip").mousemove(function(event){
var x, y;
x = event.layerX;
y = event.layerY;
//alert("mouse pos"+event.layerX);
var flip = document.getElementById('flip');
var context = flip.getContext('2d');
context.fillStyle = "rgb(255,0,0)";
context.fillRect(x, y, 5, 5);
}
);
}
);
</script>
</head> <body bgcolor="#000000"> <a href="http://jquery.com/">jQuery</a><canvas id="flip" width="500" height="500">
This text is displayed if your browser does not support HTML5 Canvas.</canvas> </body></html>
'' non è valido e richiama la modalità quirks, che modifica il comportamento di molte cose DOM! '' è la DTD corretta. –