JSFiddle - React, Tailwind, and code Playground
CSS
canvas {
width: 400px;
height: 500px;
background-color: rgba(0, 0, 0, 0.3);
}
JavaScript
$("body").wrapInner("<canvas id='myCanvas'>");
var canvas = $("#myCanvas").css("cursor", "crosshair");
var context = canvas[0].getContext("2d");
var div = {x:0, y:0};
var draw_rectangle = function(e){
context.fillRect (
div.x, div.y,
(e.pageX - div.x),
(e.pageY - div.y)
);
};
context.fillStyle = "#aaf";
canvas.on("mousedown", function(e){
div.x = e.pageX;
div.y = e.pageY;
canvas.on("mousemove", draw_rectangle);
});
canvas.on("mouseup", function(){
canvas.off("mousemove");
console.log("Drawed.");
});