手持裝置的可以參考這篇

HTML

1<input type="button" value="清空" id="clear" /><br/>
2<canvas id="sign" width="1000" height="1000">
3    Your browser does not have support for Canvas.
4</canvas>

jQuery

1$(document).ready(function(){
2    var pp = [-1,-1]; //起始點位置
3    var np = [0,0];//下一個點的位置
4    var bu = $('#clear');
5    var canvas  = $('#sign');//canvas物件
6     
7    //2維繪圖(jQuery物件需要用canvas[0]呼叫,如果是用js的document.getElementById就不需要[0])
8    var ctx = canvas[0].getContext("2d");
9    ctx.lineWidth = 1;//線條寬度
10    ctx.strokeStyle = "black";//線條顏色
11     
12    //判斷滑鼠是否有按住(點擊)
13    var clicking = false;
14     
15    //點擊滑鼠
16    canvas.mousedown(function(e){
17        clicking = true;
18    });
19     
20    //滑鼠移動(要按住滑鼠才會繪圖)
21    canvas.mousemove(function(e){
22        if( !clicking ){ return false; }
23        //如果是剛下筆,會先初始化起始點
24        if( pp[0] == -1 && pp[1] == -1 ){
25            pp = [e.pageX,e.pageY];
26        }
27        //紀錄下一點的位置
28        np = [e.pageX,e.pageY];
29         
30        //繪圖
31        ctx.beginPath();
32        ctx.moveTo(pp[0], pp[1]);
33        ctx.lineTo(np[0],np[1]);
34        ctx.closePath();
35        ctx.stroke();
36        //下一點的位置=新的起始點
37        pp[0] = np[0];
38        pp[1] = np[1];
39    });
40     
41    //放開滑鼠,座標重新歸零
42    canvas.mouseup(function(e){
43        clicking = false;
44        pp = [-1,-1];
45    });
46     
47    //清除canvas畫面
48    bu.click(function(e){
49        ctx.clearRect(0, 0, canvas.width(), canvas.height());
50    });
51});
Categories: jQuery