auglx 发表于 2011-2-24 17:54:52

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

axure6在模拟触屏手机的操作:
拖动一个列表,列表会随着手指的位置纵向滚动(如图),但列表中每一行的矩形区域都会有click事件,因而在拖动结束时总会触发这些click事件,并且在拖动过程中也会让列表变为按下状态(如图中蓝色区域的状态),所以想请教一下如何能够在拖拽过程中,能够避免相应click事件和区域被按下的状态。请高手们指教!
http://ww2.sinaimg.cn/small/68020b3cjw6denj67m3evj.jpg

尹广磊 发表于 2011-2-24 18:39:09

最好编辑帖子,把rp源文件发上来。

auglx 发表于 2011-2-25 18:44:34

搞了一天,终于想到办法了,思路如下:
1 添加变量“drag0or1”,用来描述鼠标在列表上是否进行过拖动,未拖动过时变量值为0,拖动过就变为1;


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


4 在想要避免拖动时响应click事件的位置添加触发条件,“当变量drag0or1的值为0时,才响应click事件”;


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

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

尹广磊 发表于 2011-2-25 18:49:36

你的图片需要重新上传一下,来自QQ空间的不能外链。
图片上传方法:http://www.hiaxure.com/thread-837-1-1.html

付姣牧凉 发表于 2012-2-1 11:08:35

1# auglx


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

SmiLE-yQ-CooL 发表于 2012-2-26 20:29:27

3# auglx
我也遇到了同样的问题,可是如果不拖拽的话,点击也无法实现,而且在拖拽一次后还是会出现同样的问题~不知道你是否有了新的办法解决此问题?

正版小一 发表于 2012-2-29 18:16:05

厉害
页: [1]
查看完整版本: 【求解】拖拽滚动列表的过程中 如何避免列表上的click事件