帖子
帖子
用户
博客
课程
123下一页
返回列表 发新帖
显示全部楼层
7
帖子
0
勋章
330
Y币

[App引擎] 下拉刷新跟长按事件冲突

[复制链接]
发表于 2016-1-7 11:16:17
本帖最后由 shancha 于 2016-1-7 11:18 编辑

如题,当按住的时候长按事件已经触发,按住下拉的时候下拉刷新才触发,api提供的setRefreshHeaderInfo只能在回调的时候才能写代码,而回调的时候是松开手才返回,松开手的时候长按事件已经执行完了。。。

长按代码如下:
function press(el,callback){

            var t=null;
            var num=0;
            var touchstartFun=function(){
                t=setInterval(function(){


                    num=num+0.5;
                    if(num>=1){
                        //alert("长按");
                        if(typeof(callback)=="function")callback(el);
                        else if(typeof(callback)=="string")eval(callback);
                        clearInterval(t);
                    }
                },500);
            }
            if(window.event.type=="touchstart"){
                touchstartFun();
            }
            else{
                el.ontouchstart=function(){
                    touchstartFun();
                }
            }
            el.ontouchend=function(){
                clearInterval(t);
            }
            el.ontouchmove=function(){
                setTimeout(function(){clearInterval(t)},400);
            }
        }
7
帖子
0
勋章
330
Y币
本帖最后由 shancha 于 2016-1-7 11:19 编辑

自顶~~~
0
帖子
0
勋章
766
Y币
很抱歉。。。我又看了半天还是没明白怎么回事
你的代码我看明白了,但是我想知道你在业务上的需求,也好帮您分析下怎么实现需要的功能
7
帖子
0
勋章
330
Y币
技术支持-Q 发表于 2016-1-7 12:50
很抱歉。。。我又看了半天还是没明白怎么回事
你的代码我看明白了,但是我想知道你在业务上的需求,也好帮 ...

e.....我截了个图,你看下,当按住屏幕下拉刷新的时候长按事件已经触发了

QQ图片20160107133148.jpg
7
帖子
0
勋章
330
Y币
技术支持-Q 发表于 2016-1-7 16:33
这个应该是你的长按逻辑控制不够全面。
下拉是这样的过程:按下手指,向下移动手指,松开手指
长按是这样的 ...

额,操作上如你所说,但长按跟下拉都是手指按住,当你手指干或者屏幕干的时候,下拉其实也是手指按住没动再松手
29
帖子
0
勋章
136
Y币
技术支持-Q 发表于 2016-1-7 16:33
这个应该是你的长按逻辑控制不够全面。
下拉是这样的过程:按下手指,向下移动手指,松开手指
长按是这样的 ...

经过测试下拉刷新时,并没有触发touchmove事件,看到后,求解
29
帖子
0
勋章
136
Y币
楼主解决这个问题了吗?求答案
1
帖子
1
勋章
1718
Y币
王海旭 发表于 2016-2-23 14:54
ios可以,安卓不行,估计是官方的bug,正焦急中,

哦,我ios还没试
1
帖子
1
勋章
1718
Y币
shancha 发表于 2016-2-24 13:41
木有,我pass掉了

好吧,我也pass掉吧,不纠结了
116
帖子
2
勋章
318
Y币
怎么解决这个问题呢?
123下一页
您需要登录后才可以回帖 登录

本版积分规则