起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2008|回复: 4

[结贴] 列表支持长按事件后,列表就无法往上滑动了

[复制链接]

17

主题

130

帖子

274

积分

中级会员

Rank: 3Rank: 3

积分
274
QQ
发表于 2017-11-14 17:19:21 | 显示全部楼层 |阅读模式
Screenshot_20171114-171335.jpg
这个时候无论手是在列表上 还是在空白处 上拉 都是可以拉动 并加载数据的  当变成一下这种的时候 就没办法上拉了  但是可以下拉刷新  上拉加载就没反应了  在测试的过程中 用css的元素穿透就正常了  可是这样 我的列表长按 就废了啊

Screenshot_20171114-171651.jpg

这个冲突要怎么解决啊

发表于 2017-11-14 18:12:07 | 显示全部楼层
可以在list下某个dom节点上添加长按事件!
元素穿透  ,长按事件会不生效吗??

事件无法调用还是怎么回事??   

你代码怎么写的!你可以在自己的长按事件中判断是否滑动了!如果滑动了就不要执行长按事件的逻辑

长按一般是在Touchstart 事件中  使用setTimeout ,一段时间后执行某段代码!
如果这段时间之内触发了Touchmove事件  ,就清除这个执行  调用clearTimeout

这两个事件都可以触发!应该就能实现你的逻辑吧!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

17

主题

130

帖子

274

积分

中级会员

Rank: 3Rank: 3

积分
274
QQ
 楼主| 发表于 2017-11-14 18:46:12 | 显示全部楼层
liangyongfei 发表于 2017-11-14 18:12
可以在list下某个dom节点上添加长按事件!
元素穿透  ,长按事件会不生效吗??

长按是没问题的 你是说这边可以设置定时是吗
  1. var getXiangTimeOutEvent=0;//定时器


  2. Model.prototype.getXiang_gtouchstart = function(event){

  3. var getXianglistStyle = event.currentTarget;
  4. getXianglistStyle.style.background='#969696';

  5. console.log("启动定时器");
  6. getXiangTimeOutEvent = setTimeout(function(){

  7. getXiangTimeOutEvent = 0;
  8. //执行长按要执行的内容,如弹出菜单
  9. //alert("长按事件触发发");
  10. // justep.Util.hint(event.bindingContext.$object.val('name'));

  11. //底部对话框
  12. layer.open({
  13. //title:'请选择操作!',
  14. content: '<b>请选择操作1!</b>'
  15. ,shadeClose: false
  16. ,btn: ['删除', '取消']
  17. ,skin: 'footer'
  18. ,yes: function(index){
  19. layer.open({content: '执行删除操作'});
  20. },
  21. });



  22. },500);//这里设置定时器,定义长按500毫秒触发长按事件,时间可以自己改,个人感觉

  23. return false;
  24. };







  25. Model.prototype.getXiang_gtouchmove = function(event){



  26. clearTimeout(getXiangTimeOutEvent);//清除定时器
  27. getXiangTimeOutEvent = 0;

  28. };







  29. Model.prototype.getXiang_gtouchend = function(event){


  30. var getXianglistStyle = event.currentTarget;
  31. getXianglistStyle.style.background='#ffffff';

  32. console.log("释放手指时触发");
  33. clearTimeout(getXiangTimeOutEvent);//清除定时器
  34. if(getXiangTimeOutEvent != 0){
  35. //这里写要执行的内容(尤如onclick事件)
  36. //alert("你这是点击,不是长按");
  37. justep.Util.hint("你这是点击,不是长按");
  38. }
  39. return false;
  40. };
复制代码



回复 支持 反对

使用道具 举报

17

主题

130

帖子

274

积分

中级会员

Rank: 3Rank: 3

积分
274
QQ
 楼主| 发表于 2017-11-14 19:13:49 | 显示全部楼层
liangyongfei 发表于 2017-11-14 18:12
可以在list下某个dom节点上添加长按事件!
元素穿透  ,长按事件会不生效吗??

解决了  删除Model.prototype.getXiang_gtouchstart这个下面的return false;  就可以了  哈哈 结帖吧
回复 支持 反对

使用道具 举报

发表于 2017-11-15 09:24:25 | 显示全部楼层
54huige 发表于 2017-11-14 19:13
解决了  删除Model.prototype.getXiang_gtouchstart这个下面的return false;  就可以了  哈哈 结帖吧  ...

欢迎分享一下经验,遇到了怎样的问题,以及如何解决的?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-25 09:07 , Processed in 0.079413 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表