【问题标题】:Bootstrap Responsive Navbar for Phones and other devices用于手机和其他设备的 Bootstrap 响应式导航栏
【发布时间】:2012-12-22 08:10:51
【问题描述】:

这是我正在开发的网站。

http://ankursinha.net/TestSite/index.php

它的堆叠正确,反应灵敏,除了以下之外一切都很好。

当我通过手机或平板电脑访问该网站时,导航栏显示 3 行,我单击它并显示所有链接,然后当我单击“登录”时,它会下拉并显示教员登录和学生登录,但是当我单击其中一个时,它会切换并关闭下拉列表。

我知道这是由于:

data-toggle="collapse" data-target=".nav-collapse"

但是我该如何解决这个问题,让它成为在智能手机和平板电脑上浏览网站的正确链接?所有浏览器都有同样的问题!

我与 Responsinator 核对过,同样的问题也发生在那里。

谢谢

【问题讨论】:

  • 只是为了帮助其他部分:1) 将所有脚本移至底部; 2) 使用.hidden-phone.hidden-tablet 隐藏整个标题,因为从移动设备上看会占用大量空间; 3) 在里面添加搜索并将home链接移动到站点名称; 示例jsbin.com/igadov/1/edit
  • 刚刚尝试了你的代码,它切换并关闭了兄弟:(
  • 这不是您问题的答案,这是一个简单的“帮助”做得更好。查看示例链接并检查<header> 标签。

标签: javascript css mobile twitter-bootstrap media-queries


【解决方案1】:

通过在 bootstrap-dropdown.js 上添加(替换)这段代码(在脚本末尾)修复:

$(function () {
  $('html').on('click.dropdown.data-api', clearMenus)
  $('body').on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
           .on('click.dropdown.data-api touchstart.dropdown.data-api'  , toggle, Dropdown.prototype.toggle)
           .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
 })

基本上阻止下拉菜单上的触摸事件冒泡到下一个元素,这将是 HTML 标记并具有 clearMenus 功能。

【讨论】:

  • 我正在使用 bootstrap.js 和 bootstrap.min.js,即缩小版本,我应该在任何地方添加它吗?或者我应该在脚本标签中的结束正文标签之前粘贴这段代码并签出吗?
  • 将它添加到 bootstrap-dropdown.js。需要替换sn-p代码。
  • 如你所说,用最后一个 sn-p 替换它。 Responsinator 显示一切正常,但在我的任何移动浏览器上都无法正常显示:|
  • 好的,替换不起作用。相反,我在现有代码之后添加了它。像魅力一样工作。多谢! :D
  • 添加该代码会产生一个新问题。我的动态下拉列表被禁用。链接在这里。它不工作。 ankursinha.net/TestSite/upload.php
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-13
  • 2017-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多