zoukankan      html  css  js  c++  java
  • h5移动端阻止浏览器长按事件

    移动端长按图片或者元素的时候会出现默认的浏览器事件,这样会影响自定义的长按行为,很麻烦。微信的图片和元素的长按事件效果如下

    找到了一个方式去掉,参考https://segmentfault.com/q/1010000005088048
    首先要把图片放到div的背景图片中(用图片试了不行,如果有大神可以指点下),这样再长按的时候长按的是DIV

    代码如下,注意引jQuery

        //长按触发事件
        $.fn.longLongPress = function () {
            var div = $(this);
            $(this).on({
                touchstart: function(e){
                    console.log('a')
                    timeOutEvent = setTimeout(function(){
                        //阻止长按默认行为
                        $(div).bind('contextmenu', function(e) {
                            e.preventDefault();
                        })
                    },200);
    
                },
                touchmove: function(e){
                    clearTimeout(timeOutEvent);
                    timeOutEvent = 0;
    
                },
                touchend: function () {
                    clearTimeout(timeOutEvent);
                    if(timeOutEvent != 0){
                        console.log('这是点击,不是长按');
                    }
                    return false;
                }
            })
        }
        $('div').longLongPress();//给div设置背景图片并加上长按事件
  • 相关阅读:
    MySQL必知必会(数据分组,Group by和Having子句, Select子句的顺序)
    MySQL必知必会(汇总数据, 聚集函数)
    MySQL必知必会(使用函数处理数据)
    菜根谭#206
    菜根谭#205
    菜根谭#204
    菜根谭#203
    菜根谭#202
    菜根谭#201
    菜根谭#200
  • 原文地址:https://www.cnblogs.com/nightfallsad/p/7252396.html
Copyright © 2011-2022 走看看