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 条评论
登录 后参与评论

相关文章

来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4355
来自专栏pangguoming

Spring Boot集成JasperReports生成PDF文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲...

1.4K7
来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

3595
来自专栏菩提树下的杨过

Flash/Flex学习笔记(23):运动学原理

先写一个公用的小球类Ball: package{ import flash.display.Sprite; //小球 类 public class B...

27110
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2712
来自专栏大内老A

The .NET of Tomorrow

Ed Charbeneau(http://developer.telerik.com/featured/the-net-of-tomorrow/) Exciti...

37710
来自专栏码匠的流水账

聊聊NettyConnector的start及shutdown

reactor-netty-0.7.6.RELEASE-sources.jar!/reactor/ipc/netty/NettyConnector.java

1021
来自专栏张善友的专栏

Mix 10 上的asp.net mvc 2的相关Session

Beyond File | New Company: From Cheesy Sample to Social Platform Scott Hansel...

2767
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

8328
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

2886

扫码关注云+社区