https://codepen.io/bb798sky/pen/KKwyJBM

    1. <!doctype html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>Drawing App</title>
    6. <style>
    7. canvas {
    8. background: rgb(247, 247, 223);
    9. }
    10. </style>
    11. </head>
    12. <body>
    13. <canvas id="canvas" width="400" height="400"></canvas>
    14. <script src="./utils.js"></script>
    15. <script>
    16. window.onload = function () {
    17. var canvas = document.getElementById('canvas'),
    18. context = canvas.getContext('2d'),
    19. mouse = utils.captureMouse(canvas);
    20. /**
    21. * 鼠标按下开始路径,
    22. * 画笔落到当前光标位置,
    23. * 监听鼠标移动事件,
    24. * 鼠标拖动执行onMouseMove方法绘制路径
    25. */
    26. canvas.addEventListener('mousedown', function () {
    27. context.beginPath();
    28. context.moveTo(mouse.x, mouse.y);
    29. canvas.addEventListener('mousemove', onMouseMove, false);
    30. }, false);
    31. /**
    32. * 鼠标抬起移除对鼠标滑动的监听
    33. */
    34. canvas.addEventListener('mouseup', function () {
    35. canvas.removeEventListener('mousemove', onMouseMove, false);
    36. }, false);
    37. function onMouseMove() {
    38. context.lineTo(mouse.x, mouse.y);
    39. context.stroke();
    40. }
    41. };
    42. </script>
    43. </body>
    44. </html>