滑动jquery滑块时,防止单击Ipad / Iphone

时间:2012-08-20 10:46:27

标签: jquery ipad slider touchstart touchmove

我有结构

<div>
  <ul>
    <li><a></a></li>
    <li><a></a></li>
    <li><a></a></li>
  </ul>
</div>

我为iphone / ipad创建了滑动,我设置了溢出:隐藏在DIV上并上下移动UL

问题在于,当我启动touchstart事件时,将手指放在链接<a></a>上并上下移动我的手指进行滑动,滑动完成后页面的位置会发生变化,链接点击工作......我需要阻止

我只想改变页面的位置,只有在touchstart之后才发生touchend,它们之间没有触摸...

请给我建议,谢谢

1 个答案:

答案 0 :(得分:0)

inner_container.bind('touchstart', function(e) {
//e.preventDefault();
   .... 
});

inner_container.on('click', 'a', function(e) {
  if(touch_moving){
    touch_moving = 0;
    return false;
  }
});

inner_container.bind('touchmove', function(e) {
  touch_moving = 1;
  ...
});

请注意,在touchstart中默认不会被阻止!