jQuery单击事件处理程序在iOS设备上无法正常工作

时间:2014-07-03 15:23:42

标签: javascript jquery ios

有问题的页面包含3个锚标记元素。当单击其中一个锚标记时,它应该触发一个jQuery函数,该函数隐藏当前div并显示另一个 - 将用户移动到顺序中的下一个进程。

在PC和Android设备上一切正常,但iOS设备上没有。

在这个网站上挖掘之后,我遇到了一些建议的解决方案,但似乎没有一个解决这个问题。我试过了:

  • 一起删除href属性(以及只有#)
  • 删除锚点的所有悬停效果
  • 将jQuery从.on('click', function()更新为.bind('click touchstart', function()
  • 将空白onclick=""属性添加到锚点
  • 将锚点的样式属性设置为cursor: pointer

3个锚标记的代码:

<a href="#top" class="tin-size-btn" onclick="">Add</a>

jQuery:

$('.tin-size-btn').css('cursor','pointer');
$('.tin-size-btn').bind('click touchstart', function(){ ...

1 个答案:

答案 0 :(得分:0)

我相信您应该为触控界面(如智能手机或平板电脑)保留touchstart事件。同样,您可以考虑使用touchend而不是touchstart,因为您可能希望在触摸完成后触发操作。

$('.tin-size-btn').bind('touchend', function(){ ...