【问题标题】:Why does Chrome block my swiping attempts on my site?为什么 Chrome 会阻止我在我的网站上尝试刷卡?
【发布时间】:2012-10-19 01:42:27
【问题描述】:

我正在为 iPad 2 开发一个移动网站,可以看到 here

当您滑动红色背景时,它会在右侧显示蓝色背景,但由于未选择任何内容而重置。要选择内容,必须: (a) 将鼠标左键按住在侧边栏图标之一(A 到 E)上,然后向左拖动超过 72 像素(任何更少,它将重置,因为它可能已经意外滑动);或 (b) 只需单击(或点击)侧边栏图标。

问题是,虽然 (b) 工作得很好,但 (a) 却不行。在 Chrome 中经过一小段距离(可能等于最小滑动距离设置)后,它显示“不允许”光标,并且释放鼠标左键后未注册“mouseup”事件。您可以自己在 Chrome 中测试上面的链接。

谁能确定为什么会这样?相关JavaScript可见here

【问题讨论】:

  • Chrome 似乎认为您正在尝试拖动字母链接。尝试在那些 <a> 元素上设置 draggable="false"
  • 成功了!现在将其添加为官方答案,以便我可以检查它并给你信用。 :)

标签: javascript jquery ipad google-chrome swipe


【解决方案1】:

当您在 Chrome 上拖动链接 (<a href="...">) 时,需要一段时间(即鼠标必须移动一定距离)才能开始拖动。开始拖动后,您可以将 URL 拖动到其他位置(例如,拖动到选项卡条以在新选项卡中打开它),但它会阻止您通过脚本自己使用拖动功能。

解决方案是添加draggable="false",这样Chrome就不会出现这种原生拖动行为:

<a href="..." draggable="false">...</a>

【讨论】:

  • 再次感谢这个有用的提示。我不知道这个 Chrome 怪癖。 :)
猜你喜欢
  • 2012-05-03
  • 2023-01-18
  • 2017-11-18
  • 2016-05-02
  • 2011-03-27
  • 2016-04-24
  • 1970-01-01
  • 2019-11-12
  • 1970-01-01
相关资源
最近更新 更多