html5中滑动的点击的问题

小小GISer 2014-10-06 11:29:01
手机端的页面,页面中有个ul,我为每个li绑定了touchstart事件,点击每个li就跳转到另外的页面。但是这样子导致了ul不能滚动了。求解决方法。
...全文
729 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
业余草 2015-11-12
  • 打赏
  • 举报
回复
小小GISer 2014-10-17
  • 打赏
  • 举报
回复
引用 楼主 cai115 的回复:
手机端的页面,页面中有个ul,我为每个li绑定了touchstart事件,点击每个li就跳转到另外的页面。但是这样子导致了ul不能滚动了。求解决方法。
呵呵,我现在也在用这个方法~~
业余草 2014-10-08
  • 打赏
  • 举报
回复
第一次在项目中使用touch事件,产生了一个误解,误以为touch当成了滑动,其实touch事件就是其字面直译“触摸”。所以只要手指接触到屏幕并不需要滑动就会触发相关的事件,如touchstart与touchend; 这是在touch事件中三个主要动作: touchstart:触摸开始的时候触发,即手指接触到屏幕就触发了; touchmove:手指在屏幕上滑动的时候触发; touchend:触摸结束的时候触发,即手指离开屏幕时触发; 事件绑定: banner.addEventListener('touchstart', touchStart, false); banner.addEventListener('touchmove', touchMove, false); banner.addEventListener('touchend', touchEnd, false); 事件绑定中需要注意的是:jquery库的bind方法会出现绑定无效的问题,我测试用的版本是jquery1.8.2;示例中的方式是可以的。 函数定义中需要注意的是在touchmove中浏览器的默认事件是移动页面,比如上下滚动,在touchmove中需要禁止浏览器的默认动作,否则会影响到touchmove的触发,尤其是在android中,iphone对这个处理的较好,影响较小。touchmove是一个会在move 捕获触摸点位置: 在触摸事件中捕获到事件e,e会有一个属性touches,e.touches表示的在屏幕上所有的触摸点,但事实上,绝大数手机浏览器并不支持多点触摸,所有用e.touchees[0]捕获一个触点就知足吧,不要再奢望获取e.touches[>0]了,这个触点的位置可以有e.touches[0].pageX获取页面x坐标(像素);
XZowie 2014-10-06
  • 打赏
  • 举报
回复
如果不考慮用click的話 li 綁定3個事件 touchstart touchmove touchend start 給定一個flag 例如:isclick = true; 記錄pagex及pagey move 計算pagex及y 任何一個絕對值超過 15 就將 isclick = false end 判斷 isclick true: 跳轉 false:什麼事都不做 這是我先前用的笨方法, 不知道有沒有其他更好的做法。

43,740

社区成员

发帖
与我相关
我的任务
社区描述
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
社区管理员
  • HTML5社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧