判断鼠标是否移动以及是否发生触摸事件

//判断鼠标是否移动
(function(){

    let isMove = false,

        timer = null;

    window.onmousemove = function(){

        isMove = true;

        clearTimeout(timer);

        console.log(isMove); // 移动时

        timer = setTimeout(function(){

            isMove = false;

            console.log(isMove); // 静止后

        },200);

    }

}());



//判断是否发生触摸事件
(function(){

    let isMove = false,

        timer = null;

    window.ontouchstart = function(){

        isMove = true;

        clearTimeout(timer);

        console.log(isMove); // 移动时

        timer = setTimeout(function(){

            isMove = false;

            console.log(isMove); // 静止后

        },200);

    }

}());

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要实现在Android设备上使用手指模拟鼠标单击事件,可以在触摸板上监听手指的触摸事件,并根据手指的操作实现鼠标的单击事件。 下面是一个简单的示例代码实现: ```java public class TouchpadView extends View { private float x, y; private boolean isClick; public TouchpadView(Context context) { super(context); } @Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: x = event.getX(); y = event.getY(); isClick = true; break; case MotionEvent.ACTION_MOVE: if (Math.abs(event.getX() - x) > 10 || Math.abs(event.getY() - y) > 10) { isClick = false; } break; case MotionEvent.ACTION_UP: if (isClick) { // 发送鼠标单击事件 sendMouseEvent(MotionEvent.ACTION_DOWN, (int) x, (int) y); sendMouseEvent(MotionEvent.ACTION_UP, (int) x, (int) y); } break; } return true; } private void sendMouseEvent(int action, int x, int y) { long downTime = SystemClock.uptimeMillis(); long eventTime = SystemClock.uptimeMillis(); MotionEvent event = MotionEvent.obtain(downTime, eventTime, action, x, y, 0); dispatchTouchEvent(event); } } ``` 在这个示例中,我们监听了触摸板的`ACTION_DOWN`、`ACTION_MOVE`和`ACTION_UP`事件,并根据手指的操作判断是否触发鼠标单击事件。如果手指在触摸过程中移动超过了一定距离,则不触发单击事件。当手指松开时,如果没有移动过,则发送鼠标单击事件。 注意,这只是一个简单的示例,实际实现中还需要考虑更多的细节,例如多点触控、长按事件等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值