核心提示:Canvas鼠标事件有以下几个:mousedown 鼠标按下mouseup 鼠标离开屏幕mousemove 鼠标移动mouseout 鼠标离开当前Canvas界面下面getLocation方法获取鼠标...
Canvas鼠标事件有以下几个:
mousedown 鼠标按下
mouseup 鼠标离开屏幕mousemove 鼠标移动
mouseout 鼠标离开当前Canvas界面
下面getLocation方法获取鼠标点击的坐标。
<%-- Created by IntelliJ IDEA. User: wzj Date: 2016/10/8 Time: 21:24 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Index</title> </head> <body> <canvas id="canvas" style="border: 1px solid red;"></canvas> </body> </html> <script> var canvas = document.getElementById('canvas') , g = canvas.getContext('2d') //注册事件 canvas.addEventListener("mousedown",doMouseDown,false); canvas.addEventListener("mouseup",doMouseUp,false); canvas.addEventListener("mousemove",doMouseMove,false); canvas.addEventListener("mouseout",doMouseOut,false); //鼠标按下响应事件 function mousedown(event) { var x = event.pageX; var y = event.pageY; var loc = getLocation(x,y) } function doMouseUp(event) { var x = event.pageX; var y = event.pageY; var loc = getLocation(x,y) } function doMouseMove(event) { var x = event.pageX; var y = event.pageY; var loc = getLocation(x,y) } function doMouseOut(event) { var x = event.pageX; var y = event.pageY; var loc = getLocation(x,y) } //获取当前鼠标点击的坐标 function getLocation(x, y) { var bbox = canvas.getBoundingClientRect(); return { x: (x - bbox.left) * (canvas.width / bbox.width), y: (y - bbox.top) * (canvas.height / bbox.height) }; } </script>