【问题标题】:Strange behavior with URL fragments and onclick in iOS SafariiOS Safari 中 URL 片段和 onclick 的奇怪行为
【发布时间】:2010-07-13 16:12:42
【问题描述】:

我在 (iOS 4) iPod touch 上的移动 Safari 中遇到了一个奇怪的问题。 演示此问题的最小正文 HTML 是:

<p>
    <a href="" onclick="event.preventDefault()">Click</a>
</p>
<p id="anchor">
    Anchor
</p>

当页面加载时 URL 中没有 # 片段,单击链接会执行 onclick javascript,这会抑制链接的操作,并且(如预期的那样)没有任何反应。

但是,如果页面加载了有效的 URL 片段,在上面的示例中为 #anchor,那么点击链接会导致页面跳转到 id 为“anchor”的段落(就像页面最初加载时一样) .

我找不到解决办法;任何建议将不胜感激。

【问题讨论】:

  • 我应该补充一点,如果在onclick 中使用return false,并且无论href 中的URL 是什么,都会观察到相同的行为。

标签: javascript iphone safari


【解决方案1】:

这是因为href=""(不正确)与href="."(正确)相同,这与将当前url放在href中是一样的。

如果您只是想制作一个按钮,您可以使用 &lt;span&gt; 和一些 CSS,例如 cursor: pointer 之类的东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-03
    • 2018-08-15
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多