webview长按事件js监听

做app开发时,用到了webview,需要监听webview的长按事件,使用原生的js处理监听如下:

var timeOutEvent = 0; //定时器 
    //开始按 
    function gtouchstart() {
        timeOutEvent = setTimeout("longPress()", 500); //这里设置定时器,定义长按500毫秒触发长按事件,时间可以自己改,个人感觉500毫秒非常合适 
        return false;
    };
    //手释放,如果在500毫秒内就释放,则取消长按事件,此时可以执行onclick应该执行的事件 
    function gtouchend() {
        clearTimeout(timeOutEvent); //清除定时器 
        if (timeOutEvent != 0) {
            //这里写要执行的内容(尤如onclick事件) 
            //alert("你这是点击,不是长按");
        }
        return false;
    };
    //如果手指有移动,则取消所有事件,此时说明用户只是要移动而不是长按 
    function gtouchmove() {
        clearTimeout(timeOutEvent); //清除定时器 
        timeOutEvent = 0;
    };

    //真正长按后应该执行的内容 
    function longPress() {
        timeOutEvent = 0;
        //执行长按要执行的内容,如弹出菜单 
        //alert("长按事件触发");
        do_Page.fire("showTool",{"index":index,"url":images[index].source});
    }

这里设置500ms点击为长按处理,主要用到了3个事件:

ontouchstart、ontouchmove、ontouchend,主要思路:

在ontouchstart事件中启动一个定时器,定时器间隔时间为500ms,即500ms后自动执行longPress逻辑,并清除定时器事件,ontouchend表示tap弹起,这时直接清除定时器,ontouchmove表示手指滑动,直接清除定时器即可,这样就简单实现了长按事件监听处理。

转载于:https://my.oschina.net/caiya928/blog/784051

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值