gpt4 book ai didi

javascript - 如何聚合onMouse和onTouch,使canvas可以在鼠标和ipad上使用?

转载 作者:行者123 更新时间:2023-11-28 09:50:28 24 4
gpt4 key购买 nike

我有一个关于如何将 ontouch 放入我的代码中的困惑,因为我希望它在 ipad 上运行,下面是我的代码

    <script language="javascript">
function sig1()
{
if(sig == null)
{
xclear('myCanvas');
}
}

清除 Canvas 中线条的代码

<body id="main_body" class="no_guidelines" onload="sig1()" onmouseup="bodyonmouseup">

让 Canvas 具有fillstyle颜色和功能

<canvas border=1 id="myCanvas" height=200 width=400 onmousedown="onmousedown()" onmouseup="onmouseup()" onmousemove="onmousemove()">Your browser does not support the application</canvas>

可以像签名一样画线的 Canvas

var sig = null;
var ele;
function bodyonmouseup(e)
{
var ele;
ele = document.getElementById('myCanvas');
ele.isDown = false;
}
function onmousedown(e)
{
var ele,p;
if (!e) e = window.event;
ele = (e.srcElement);
if (! ele) ele = e.target;
ele.isDown = true;
ele.context = ele.getContext("2d");
ele.context.lineWidth = 1;
ele.context.beginPath();
ele.context.moveTo(e.offsetX,e.offsetY);
sig.line = new Array();

p = new Object();
p.x = e.offsetX;
p.y = e.offsetY;

sig.p = p;
sig.line[sig.line.length] = p;
sig.lines[sig.lines.length] = sig.line;
}
function onmousemove(e)
{
var ele,dx,dy,p;
if (!e) e = window.event;
ele = (e.srcElement);
if (! ele) ele = e.target;
if (! ele.isDown) return;
ele.context.lineTo(e.offsetX,e.offsetY);
ele.context.stroke();
dx = e.offsetX - sig.p.x;
dy = e.offsetY - sig.p.y;
if (dx == 0 && dy == 0) return;
sig.p = new Object();
sig.p.x = e.offsetX;
sig.p.y = e.offsetY;
sig.line[sig.line.length] = sig.p;
}

所以我想知道我是否想同时保留onMouse和ontouch,我如何放置ontouch以便可以在ipad上绘制 Canvas ?请帮忙,很紧急

最佳答案

使用这个js。你的手指将成为你的鼠标。他们正在将所有触摸事件转换为鼠标事件。

jquery-ui-touch-punch

关于javascript - 如何聚合onMouse和onTouch,使canvas可以在鼠标和ipad上使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11132318/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com