【问题标题】:Foundation 5.1 Off-canvas Not Working on iOS Safari (Simulator)Foundation 5.1 Off-canvas 在 iOS Safari(模拟器)上不工作
【发布时间】:2014-02-09 05:30:04
【问题描述】:

下面的代码在桌面浏览器(Safari 和 Firefox)上运行良好,但菜单按钮不适用于 Mobile Safari(当我单击时没有任何反应,我希望菜单显示)。

我有一个旧模拟器(iOS 5),但 Foundation 的示例代码可以在同一个移动浏览器上的页面上运行,所以我不确定我做错了什么。例如,此链接中的高级部分在同一个移动浏览器上运行良好:http://foundation.zurb.com/docs/components/offcanvas.html,我的代码几乎是他们的副本。

JS Fiddle 链接在这里:http://jsfiddle.net/rGyKv/

更新:将标题改为非画布,而不是 Topbar。

<html lang="en" class="no-js">
<head>
    <meta charset="utf-8">
    <meta content="width=device-width" name="viewport">

    <link href="/static/css/foundation.min.css" rel="stylesheet">

    <script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
    <script src="http://localhost:8080/static/js/foundation.min.js"></script>

    <meta class="foundation-data-attribute-namespace">
    <meta class="foundation-mq-xxlarge">
    <meta class="foundation-mq-xlarge">
    <meta class="foundation-mq-large">
    <meta class="foundation-mq-medium">
    <meta class="foundation-mq-small">

    <script> $(document).ready(function() {$(document).foundation();});</script>

    <meta class="foundation-mq-topbar">

</head>

<body>
<div class="row">
    <div class="small-12 columns end">
        <div class="off-canvas-wrap docs-wrap">
            <div class="inner-wrap">
                <nav class="tab-bar">
                    <section class="left-small">
                        <a class="left-off-canvas-toggle menu-icon"> 
                                             <span> </span> </a>
                    </section>
                    <section class="middle tab-bar-section">
                        <h1 class="title">Title</h1>
                    </section>
                </nav>
                <aside class="left-off-canvas-menu">
                    <ul class="off-canvas-list">
                        <li> <label> Welcome </label> </li>
                        <li> <a href="#">Home</a> </li>
                        <li> <a href="#"> Logout </a> </li>
                    </ul>
                </aside>
                <section class="main-section">
                    <div class="row">
                        <div class="small-12 columns">
                            <br>
                            <h4 class="">Header</h4>
                            <p> CONTENT GOES HERE</p>
                        </div>
                    </div>
                </section>
                <a class="exit-off-canvas">
                </a>
            </div>
        </div>
    </div>
</div>



</body>
</html>

【问题讨论】:

  • 我遇到了同样的问题。您是否找到了解决此问题的更好方法,而不是在菜单图标中添加“虚拟”侦听器?如果必须,我将实施该修复,但如果感觉非常 hacky...
  • 不,我使用了@williem 的解决方案,并没有尝试寻找其他方法。
  • 感谢您的回复。我在基金会论坛上评论了一个帖子,但还没有收到任何回复。添加一个空的侦听器似乎很“脏”...

标签: javascript zurb-foundation


【解决方案1】:

将href添加到这一行:

<a class="left-off-canvas-toggle" href="#" >

这将解决 IOS 的问题

【讨论】:

  • 这是正确的解决方案。接受的答案通过使标签“可点击”来解决问题,但真正的问题是缺少属性。
  • 这不仅是正确的解决方案,也是唯一真正有效的解决方案。
  • 真正的解决方案。真实的答案。接受的答案也有效,但那是猴子补丁。
  • 在使用新的 OffCanvas 菜单修改站点后,我立即遇到了这个问题。添加的 href 也对我有用。
  • 这也为我在移动版 Firefox v48.0 中解决了同样的问题。
【解决方案2】:

我遇到了同样的问题,经过一番搜索,我在 Github 上发现了用户 vietqhoang 的黑客攻击。

使用以下代码初始化基础以某种方式为我修复了 iOS 上不可点击的按钮。

$(document).ready(function() {
    $(document).foundation();

    // Hack to get off-canvas .menu-icon to fire on iOS
    $('.menu-icon').click(function(){ false });
});

【讨论】:

  • 谢谢!那效果很好。为感兴趣的人更新了小提琴:jsfiddle.net/S7a9t
  • 也为我工作。谢谢!
  • 这可能为我节省了几个小时的挫败感 :) Tranks!
  • 很好的发现。我删除了括号内的错误,因为它似乎是无效的代码。
  • 哇,你是我的英雄!为什么会这样?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-18
  • 1970-01-01
  • 2020-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-11
相关资源
最近更新 更多