【问题标题】:Bootstrap tab: strange behaviour in ios chrome引导选项卡:ios chrome 中的奇怪行为
【发布时间】:2013-06-11 09:27:25
【问题描述】:

我注意到我的 iOS chrome 浏览器中引导选项卡插件的行为非常奇怪。当我单击一次选项卡时 - chrome 显示其加载栏(地址字段下的蓝线),我单击其他选项卡 - 该栏是隐藏的。我再次单击选项卡 - 该栏是可见的。见附件。所有选项卡都没有任何 ajax 加载的内容。最新版本。

也许有人有同样的问题?

谢谢

【问题讨论】:

  • 你的标签必须有一个类似href="#idOfContent"的链接。当您单击它们时,# 将添加到 URL 中,因此它显示告诉用户 URL 已更改。但这很奇怪,因为标签插件应该阻止默认不会发生
  • 是的,我有一个href="#tabId"。我很奇怪,因为桌面版工作正常
  • 在iOS中你可以很好地切换标签(无需重新加载页面),它只是再次显示url栏对吗?您可以尝试在启动选项卡的 js 之前添加 $('ul.classOfUlTab li a').click(function(e){e.preventDefault();});(其中 classOfUlTab 是您的 ul 的真正类)吗?
  • @RaphaelDDL 是的,它有帮助。但奇怪的是它在 Safari 中运行良好。另外我不使用任何javascript来初始化标签,它是通过html属性完成的。
  • 也许引导选项卡在通过data-* 进行初始化时存在问题。好吧,很高兴它有帮助。要我发帖作为答案吗?

标签: jquery ios google-chrome twitter-bootstrap


【解决方案1】:

您可以尝试通过在准备好的文档中添加此链接来阻止链接的默认行为。

$('ul.classOfUlTab li a').click(function(e) {
    e.preventDefault();
});

这会起作用,因为会阻止#nnn(当前标签的id)被推送到url(从而再次显示地址栏)。

我现在想到的唯一缺点是#nnn 不会在网址上更新。不记得刷新页面时选项卡是否加载了正确的选项卡,但如果确实如此,那么您就失去了该功能(这使浏览器的“返回”可以转到上一个选项卡)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    • 2018-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-07
    相关资源
    最近更新 更多