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

  • 相关阅读:
    MYSQL学习笔记——数据类型
    MYSQL学习笔记——常用语句
    MYSQL学习笔记——基本语法
    Java虚拟机——类加载机制
    Java虚拟机——Class类文件结构
    Tmux
    nginx 更新提示端口占用的解决办法
    fcitx 无法启动
    E:无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
    清除浮动
  • 原文地址:https://www.cnblogs.com/vipzhou/p/6008181.html
Copyright © 2011-2022 走看看