men*_*ici 1 html jquery canvas click draw
我已经看过这个问题
我想要实现的实际上是相同的,但是使用 Jquery。
我目前已经尝试过这个,但我想我不能使用两个嵌套的点击事件。
$(function() {
var worksheetCanvas = $('#worksheet-canvas');
var context = worksheetCanvas.get(0).getContext("2d");
context.strokeStyle = "rgb(251, 243, 243)";
worksheetCanvas.click(function(e) {
context.beginPath();
var xCoordFirst = e.pageX;
var yCoordFirst = e.pageY;
context.moveTo(xCoordFirst, yCoordFirst);
worksheetCanvas.click(function(f) {
var xCoordSecond = f.pageX;
var yCoordSecond = f.pageY;
context.lineTo(xCoordSecond , yCoordSecond );
context.closePath();
context.stroke();
})
})
})?
Run Code Online (Sandbox Code Playgroud)
此外,当我在 中放入一些静态值时lineTo(),我得到了this,它可以识别第二个点的坐标,从而绘制线条,即使如果用户没有自己设置第二个点,它也是无用的。
$(function() {
var worksheetCanvas = $('#worksheet-canvas');
var context = worksheetCanvas.get(0).getContext("2d");
context.strokeStyle = "rgb(251, 243, 243)";
worksheetCanvas.click(function(e) {
context.beginPath();
var xCoordFirst = e.pageX;
var yCoordFirst = e.pageY;
context.moveTo(xCoordFirst, yCoordFirst);
worksheetCanvas.click(function(f) {
var xCoordSecond = f.pageX;
var yCoordSecond = f.pageY;
context.lineTo(20 , 30);
context.closePath();
context.stroke();
})
})
})?
Run Code Online (Sandbox Code Playgroud)
var mouse = {
x: -1,
y: -1
};
$(document).ready(function(){
var cvs = $("canvas")[0].getContext("2d");
$("canvas").click(function(e){
if(mouse.x != -1 && mouse.y != -1){
cvs.beginPath();
cvs.moveTo(mouse.x, mouse.y);
cvs.lineTo(e.pageX, e.pageY);
cvs.closePath();
cvs.stroke();
mouse.x = -1;
mouse.y = -1;
}else{
mouse.x = e.pageX;
mouse.y = e.pageY;
}
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3229 次 |
| 最近记录: |