Javascript 从触摸屏激活时不触发Pointerup的事件侦听器
我正在用HTML画布编写一个简单的javascript绘图程序,它可以让你画一条线,通过一个按钮改变线的颜色,看看你用元素和一些涉及innerText的javascript选择了哪种颜色,当与鼠标或触控板一起使用时,效果非常好,然而,当它在触摸屏上使用时,它会画一小段线,然后停止。我已经跟踪到了pointerup事件,但我不知道它到底出了什么问题。你自己看看吧-Javascript 从触摸屏激活时不触发Pointerup的事件侦听器,javascript,canvas,mouseevent,addeventlistener,Javascript,Canvas,Mouseevent,Addeventlistener,我正在用HTML画布编写一个简单的javascript绘图程序,它可以让你画一条线,通过一个按钮改变线的颜色,看看你用元素和一些涉及innerText的javascript选择了哪种颜色,当与鼠标或触控板一起使用时,效果非常好,然而,当它在触摸屏上使用时,它会画一小段线,然后停止。我已经跟踪到了pointerup事件,但我不知道它到底出了什么问题。你自己看看吧- 变色 清除绘图程序 黑色 var canvas=document.getElementById('dr'); var ctx=c
变色
清除绘图程序
黑色
var canvas=document.getElementById('dr');
var ctx=canvas.getContext('2d');
变量行=假
函数drawType(){
如果(行===真){
行=假;
}否则{
行=真;
}
}
var绘图=错误;
函数类型(){}
//如果鼠标按下,则启动绘图
canvas.addEventListener(“pointerdown”,()=>{
绘图=真;
})
//如果鼠标已启动,请停止绘图
canvas.addEventListener(“pointerup”,()=>{
图纸=假;
});
//将事件侦听器添加到画布,以便在用户移动
//把鼠标放在上面,鼠标就下来了
变量颜色=['DarkRed'、'DarkOrange'、'Gold'、'Green',
‘中蓝色’、‘靛蓝’、‘紫罗兰’、‘黑色’]
var displayColors=['r'、'红色'、'橙色'、'黄色'、'绿色',
“蓝色”、“靛蓝”、“紫色”、“黑色”]
变量选择器=0
var color=document.getElementById('color'))
var selectedColor=颜色[选择器];
函数switchColor(){
如果(选择器<8){
选择器=选择器+1;
}否则{
选择器=1;
}
color.innerText=显示颜色[选择器];
selectedColor=颜色[选择器];
}
canvas.addEventListener('pointermove',(事件)=>{
//此处的\/仅用于记录目的。
var p=document.getElementById('p')
p、 innerText=绘图;
//如果绘图模式为真(如果鼠标按钮按下)
如果(图==真){
//将矩形放在画布上的
//老鼠
ctx.fillStyle=颜色[selector-1];
ctx.fillRect(event.clientX,event.clientY,4,4)
}
});
//onmouse向下onmouse向上移动onmouse向上onTouchEnd
函数clean(){
var canvas=document.getElementById('dr');
var ctx=canvas.getContext('2d');
ctx.clearRect(0,060480);
}
这是否回答了您的问题?不,pointermove正在工作,我想,你看到发生了什么吗?