Tôi đang nghiên cứu canvas jquery và html5. Tất cả những gì tôi muốn làm là một ví dụ vẽ html5 đơn giản. Khi di chuyển chuột, tôi vẽ hình vuông màu đỏ dưới con chuột của tôi.nhận vị trí chuột với javascript trong canvas
Mã của tôi rất đơn giản, nhưng tôi có một vấn đề nhận được vị trí con trỏ chuột trong canvas.
Ngay bây giờ, tôi đang sử dụng x = event.offsetX; để có được vị trí chuột. Điều này làm việc rất tốt trong chrome, tuy nhiên khi nói đến firefox, nó không hoạt động. Tôi đã thay đổi mã thành x = event.layerX. nhưng có vẻ như layerX là vị trí của con chuột của tôi liên quan đến trang web, chứ không phải vị trí của canvas. bởi vì tôi luôn thấy sự bù đắp.
Tôi có hai câu hỏi, trước hết, là điều đúng đắn phải làm gì để có được vị trí chuột đúng dưới firefox là gì. thứ hai, làm thế nào tôi có thể viết một mã hoạt động cho nghĩa là firefox, chrome, safari và opera?
đây là mã của tôi:
<!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>
'' không hợp lệ và gọi chế độ quirks, thay đổi hành vi của nhiều thứ DOM! '' là DTD chính xác. –