移动设备上的画布javascript事件
我实际上触发了所有这些事件,但它们似乎都不适用于移动设备。画布实际上是720x1000px,并不覆盖所有页面移动设备上的画布javascript事件,javascript,events,canvas,mobile,dom-events,Javascript,Events,Canvas,Mobile,Dom Events,我实际上触发了所有这些事件,但它们似乎都不适用于移动设备。画布实际上是720x1000px,并不覆盖所有页面 canvas.addEventListener('mousedown',警报); canvas.addEventListener('mousemove',alert); canvas.addEventListener('mouseup',alert); canvas.addEventListener(“touchstart”,警报); canvas.addEventListener(“触
canvas.addEventListener('mousedown',警报);
canvas.addEventListener('mousemove',alert);
canvas.addEventListener('mouseup',alert);
canvas.addEventListener(“touchstart”,警报);
canvas.addEventListener(“触摸端”,警报);
canvas.addEventListener(“触摸移动”,警报);
canvas.addEventListener(“pointerup”,警报);
canvas.addEventListener(“pointerdown”,警报);
canvas.addEventListener(“pointermove”,警报);
问题是由事件侦听器引起的还是由画布引起的?我该怎么解决呢
只在手机上
通过从桌面检查,事件侦听器出现了一个问题,当您运行它并触发任何事件时,它会抛出以下错误:
TypeError:对未实现接口窗口的对象调用了“警报”。
问题是,您的
警报是什么
如果它是您定义并调用的自定义函数alert()
,最好更改名称,因为它已经存在,这是一个
如果这是真的,那就不是指
函数,您需要将引用作为回调传递给函数。如果要调用它,需要将其包装在函数引用(匿名或命名引用)中,并将其作为回调传递
在事件侦听器中设置回调的不同方法
- 通过匿名函数:
canvas.addEventListener('mousemove', function(){
alert('This is an alert');
});
const canvas=document.getElementById('canvas');
addEventListener('mousemove',function(){
警报(“这是警报”);
});代码>
#画布{
背景颜色:绿色;
}