Javascript 为什么(MouseUp mouseDown)不能在移动浏览器上工作?
我的代码采用鼠标位置。 移动浏览器支持html5。但不能使用MouseUp mouseDown 我怎样才能修好它?Javascript 为什么(MouseUp mouseDown)不能在移动浏览器上工作?,javascript,html,mobile,browser,Javascript,Html,Mobile,Browser,我的代码采用鼠标位置。 移动浏览器支持html5。但不能使用MouseUp mouseDown 我怎样才能修好它? 身体{ 边际:0px; 填充:0px; } var-depx=0; var-depy=0; var标志=0; 函数writeMessage(画布、消息){ var context=canvas.getContext('2d'); clearRect(0,0,canvas.width,canvas.height); context.font='18pt Calibri'; con
身体{
边际:0px;
填充:0px;
}
var-depx=0;
var-depy=0;
var标志=0;
函数writeMessage(画布、消息){
var context=canvas.getContext('2d');
clearRect(0,0,canvas.width,canvas.height);
context.font='18pt Calibri';
context.fillStyle='black';
上下文。填充文本(消息,10,25);
}
函数getMousePos(画布,evt){
var rect=canvas.getBoundingClientRect();
返回{
x:evt.clientX-rect.left,
y:evt.clientY-rect.top
};
}
var canvas=document.getElementById('myCanvas');
var context=canvas.getContext('2d');
函数mouseDown(){
addEventListener(“mousemove”,myFunction);
}
函数myFunction(evt){
var mousePos=getMousePos(canvas,evt);
如果(标志==0){
depx=mousePos.x;
depy=mousePos.y;
}
flag=1;
变量消息='鼠标位置:'+mousePos.x+','+mousePos.y+'abs位置'+(mousePos.x-depx)+','+(mousePos.y-depy);
writeMessage(画布、消息);
}
函数mouseUp(){
flag=0;
removeEventListener(“mousemove”,myFunction);
}
因为触摸事件不是鼠标事件。如果添加鼠标,则可以获得鼠标事件
对于触摸事件,您需要使用
pointerup
pointerdown
事件/事件监听器。阅读更多关于和的信息
用法:为指针添加addEventListener
document.getElementById('elem1').addEventListener('pointerdown', methodForPointerDown, false);
document.getElementById('elem1').addEventListener('pointerup', methodForPointerUp, false);
对于移动浏览器,MouseUp和mouseDown有一种替代方法,因为它们不使用鼠标 您可以在手机浏览器中使用
touchstart
和touchend
代替它们
下面是另一组用于移动设备的事件侦听器
下面是一个使用指针事件侦听器检测指针设备类型的示例
检测来自用户的输入类型
window.addEventListener("pointerdown", detectInputType, false);
function detectInputType(event) {
switch(event.pointerType) {
case "mouse":
/* mouse input detected */
break;
case "pen":
/* pen/stylus input detected */
break;
case "touch":
/* touch input detected */
break;
default:
/* pointerType is empty (could not be detected)
or UA-specific custom type */
}
}
希望这对您有所帮助。这是您在手机上应该使用的。只需参考指针事件链接即可。。它显示了如何检测指针设备,然后相应地去。。。