Js实现长按事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Js实现长按事件相关的知识,希望对你有一定的参考价值。

参考技术A

最近在做一个项目,点击一个按钮,弹出一张图片,长按图片保存图片,点击图片图片隐藏。
在做的时候发现,当我们长按图片的时候也会执行点击图片的事件,这时候我们就需要判断长按事件和点击事件了。
html

js

移动端的长按事件的实现

代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"/>
        <title></title>
        <script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
    </head>
    <body>
        <div style="width:100%;">
            <div id="touchArea" style="width:90%; height:200px; background-color:#CCC;font-size:100px">长按我</div> 
        </div>
        <script>
        var timeOutEvent=0;
        $(function(){
            $("#touchArea").on({
                touchstart: function(e){
                    timeOutEvent = setTimeout("longPress()",500);
                    e.preventDefault();
                },
                touchmove: function(){
                    clearTimeout(timeOutEvent); 
                    timeOutEvent = 0; 
                },
                touchend: function(){
                    clearTimeout(timeOutEvent);
                    if(timeOutEvent!=0){ 
                        alert("你这是点击,不是长按"); 
                    } 
                    return false; 
                }
            })
        });
        function longPress(){ 
            timeOutEvent = 0; 
            alert("长按事件触发发"); 
        } 
        </script>
    </body>
</html>

以上是关于Js实现长按事件的主要内容,如果未能解决你的问题,请参考以下文章

单纯使用js或者jq如何实现 手机web的长按事件 和按键事件

JS 监听键盘上某个键的长按事件。

在Ext JS中捕获网格行的长按或点击保持事件

移动端的长按事件的实现

手机网页取消长按事件

Vue 移动端的长按与触摸事件