下面的代码在桌面浏览器(Safari和Firefox)上运行良好,但菜单按钮不适用于Mobile Safari(当我点击没有任何反应时,我希望菜单显示)。
我有一个旧的模拟器(iOS 5),但是基金会的示例代码在同一个移动浏览器的页面上工作,所以我不确定我做错了什么。例如,此链接中的高级部分在同一移动浏览器上运行良好:http://foundation.zurb.com/docs/components/offcanvas.html,我的代码几乎是他们的副本。
JS小提琴链接: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>
答案 0 :(得分:25)
将href添加到此行:
<a class="left-off-canvas-toggle" href="#" >
这将解决IOS的问题
答案 1 :(得分:15)
我遇到了同样的问题,经过一些搜索后,我在Github上发现了一个用户vietqhoang的黑客攻击。
使用以下代码初始化基础以某种方式修复了iOS上的不可点击按钮。
$(document).ready(function() {
$(document).foundation();
// Hack to get off-canvas .menu-icon to fire on iOS
$('.menu-icon').click(function(){ false });
});