jQuery点击事件处理程序在iOS设备上不能正常工作

jQuery click event handlers not working properly on iOS devices

本文关键字:常工作 不能 工作 事件处理 程序 iOS jQuery      更新时间:2023-09-26

该页面包含3个锚标记元素。当单击其中一个锚标记时,它应该触发一个jQuery函数,该函数隐藏当前div并显示另一个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(){ ...

我认为你应该为智能手机或平板电脑等触摸界面保留touchstart事件。同样,你可以考虑使用touchend代替touchstart,因为你可能想在触摸完成后触发动作。

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