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表示手指滑动,直接清除定时器即可,这样就简单实现了长按事件监听处理。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SpiritLing

Apache中限制和允许特定IP访问

Apache中限制和允许特定IP访问 <Directory "/var/www"> Options All AllowOverride None Order...

2877
来自专栏测试开发架构之路

电子邮件工作机制

相关的几个协议 -SMTP(Simple Mail Transfer Protocol) -POP(Post Office Protocol) -IMAP(在不...

2908
来自专栏小筱月

跨域 webpack + vue-cil 中 proxyTable 处理跨域

1103
来自专栏linjinhe的专栏

Web性能优化小结

2086
来自专栏lgp20151222

常用的http网页错误代码表---------495引发的一个简单到爆,但基于国内环境只能呵呵呵的血案

然后,正常的跑去百度,看了一堆还是没有完整的网页错误代码,应该说国内的环境的网页错误代码表只有官方的那几个,那么只能FQ了。

1703
来自专栏Jacklin攻城狮

邮箱开发(1)之基础协议认知

943
来自专栏IMWeb前端团队

http cache笔记

本文作者:IMWeb devinran 原文出处:IMWeb社区 未经同意,禁止转载 Last-Modified 与 If-Modified-Si...

1836
来自专栏Java架构沉思录

你不得不知道的HTTP状态码有哪些

100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。

722
来自专栏小古哥的博客园

从输入网址到页面呈现的过程

WEB应用的本质 1、用户请求远程资源 2、浏览器查找远程资源,打包用户请求并发送 3、服务器根据请求,通过逻辑计算,回复结果给浏览器 4、浏览器解析结果,呈现...

2667
来自专栏跟着阿笨一起玩NET

关于.NET邮件的收发问题总结

        最近因为项目需要,研究了一下邮件的发送和接收,发现现在这方面的问题很多.虽然网上这方面的资料很多,但是真正应用起来 仍然会发现不少问题,而且很多...

521

扫码关注云+社区