查看: 4343|回复: 6

【求解】拖拽滚动列表的过程中 如何避免列表上的click事件

[复制链接]

0

主题

9

回帖

14

积分

会员

Rank: 5Rank: 5

积分
14
发表于 2011-2-24 17:54:52 | 显示全部楼层 |阅读模式
尹广磊公众帐号
axure6在模拟触屏手机的操作:
拖动一个列表,列表会随着手指的位置纵向滚动(如图),但列表中每一行的矩形区域都会有click事件,因而在拖动结束时总会触发这些click事件,并且在拖动过程中也会让列表变为按下状态(如图中蓝色区域的状态),所以想请教一下如何能够在拖拽过程中,能够避免相应click事件和区域被按下的状态。请高手们指教!

530

主题

6314

回帖

6万

积分

管理员

创始人

Rank: 9Rank: 9Rank: 9

积分
68673
QQ
发表于 2011-2-24 18:39:09 | 显示全部楼层
最好编辑帖子,把rp源文件发上来。

0

主题

9

回帖

14

积分

会员

Rank: 5Rank: 5

积分
14
 楼主| 发表于 2011-2-25 18:44:34 | 显示全部楼层
搞了一天,终于想到办法了,思路如下:
1 添加变量“drag0or1”,用来描述鼠标在列表上是否进行过拖动,未拖动过时变量值为0,拖动过就变为1;
2011-2-25 18-29-29.png

2 在ondrag下添加事件“将变量值设为1”,意思是如果有拖动动作时,就将变量值改为1;
3 在ondragdrop下添加延时事件和设置变量值,将变量值设为0,意思是在拖动结束后,将变量值改回0;
2011-2-25 17-48-20.png

4 在想要避免拖动时响应click事件的位置添加触发条件,“当变量drag0or1的值为0时,才响应click事件”;
2011-2-25 17-47-38.png

这样就大功告成啦!再按住含click事件的区域来滚动屏幕时,鼠标抬起来就不会触发点击事件啦,而且也不会影响正常的点击。

本来想用判断鼠标开始拖动的位置 与 结束拖动的位置 是否一致的方法来实现上述效果,但实在是没找到识别鼠标的坐标的方法,如果有高手知道,欢迎分享,感激不尽!~

530

主题

6314

回帖

6万

积分

管理员

创始人

Rank: 9Rank: 9Rank: 9

积分
68673
QQ
发表于 2011-2-25 18:49:36 | 显示全部楼层
你的图片需要重新上传一下,来自QQ空间的不能外链。
图片上传方法:http://www.hiaxure.com/thread-837-1-1.html

0

主题

22

回帖

91

积分

会员

Rank: 5Rank: 5

积分
91
发表于 2012-2-1 11:08:35 | 显示全部楼层
1# auglx


你好,终于找到相关的帖子了
我只是想实现列表的上下滚动
请问axure6.0 要怎么操作呢
谢啦

0

主题

4

回帖

12

积分

会员

Rank: 5Rank: 5

积分
12
发表于 2012-2-26 20:29:27 | 显示全部楼层
3# auglx
我也遇到了同样的问题,可是如果不拖拽的话,点击也无法实现,而且在拖拽一次后还是会出现同样的问题~不知道你是否有了新的办法解决此问题?

0

主题

4

回帖

11

积分

会员

Rank: 5Rank: 5

积分
11
发表于 2012-2-29 18:16:05 | 显示全部楼层
厉害
您需要登录后才可以回帖 登录 | 新用户注册

本版积分规则

QQ|友情链接|版权声明|关于我们|Axure中文社区 |网站地图

GMT+8, 2025-5-11 06:07

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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