【问题标题】:JS Bootstrap tabbed panel, loading a URL on clickJS Bootstrap 选项卡式面板,点击时加载 URL
【发布时间】:2017-11-15 17:19:43
【问题描述】:

我正在尝试让 Bootstrap 选项卡式面板在单击按钮时重新加载,而不仅仅是显示选项卡。因此,单击“office”选项卡将重新加载页面,然后显示#office 选项卡。我一切正常......除了页面重新加载。它永远不会着火。

HTML

    <div>
  <!-- Nav tabs -->
  <ul class="nav nav-tabs" role="tablist">
    <li role="presentation">
        <a href="#home" aria-controls="home" role="tab" data-toggle="tab">Home</a>     </li>
    <li role="presentation" class="active">
        <a id="office" href="#office" aria-controls="profile" role="tab" data-toggle="tab">Office</a>
    </li>
  </ul>

  <!-- Tab panes -->
  <div class="tab-content">
    <div role="tabpanel" class="tab-pane" id="home">Home</div>
    <div role="tabpanel" class="tab-pane active" id="office">Office</div>
  </div>

</div>

JS

jQuery("#office").click(function(e){
            console.log("clicked")
            e.preventDefault();
            window.location.replace = "http://www.myurl.com#office";
            console.log("after")

            return false;

        });

https://jsfiddle.net/zxLt5z2r/

更新的 Codepen:

https://codepen.io/anon/pen/QOqrvY

【问题讨论】:

  • 这不是真正正确的方法。您应该使用 Bootstrap 的内置回调来重新加载您的内容,而不是选项卡。
  • 去掉e.preventDefault(),去掉return false

标签: javascript jquery html twitter-bootstrap


【解决方案1】:

您返回 false 并调用 preventDefault();

jQuery("#office").click(function(e){
            console.log("clicked")
            window.location.href = "http://www.myurl.com#office";
            console.log("after")
        });

另外,使用window.location.href = "http://example.com/new_url";

【讨论】:

  • @Kris 不是真的,这使用了 window.location.href。此外,您暗示任何解决方案都将是您评论的副本,因为这是唯一的方法。抱歉,这是相当基本的东西,不是吗?
  • 谢谢,但这仍然不起作用。请参阅此代码笔:codepen.io/anon/pen/QOqrvY
【解决方案2】:

Location.replace() 是一个以 URL 作为参数的函数。

试试:

window.location.replace("http://www.myurl.com#office");

【讨论】:

  • 谢谢,但新的 url 从未加载,我不知道为什么。见:codepen.io/anon/pen/QOqrvY
  • @Kiksy 您的代码不起作用,因为“office”的 id 属性分配给了错误的元素。您应该将其分配给选项卡按钮而不是选项卡面板。看看这个:codepen.io/anon/pen/jaGQWL
  • 使用那个:codepen.io/anon/pen/jaGQWL 新的 url 打不开,选项卡好像不工作?
  • 抱歉标签问题是我的错,我更新了codepen来解决这个问题。问题是您需要将单击事件绑定到按钮而不是选项卡。否则点击事件将无法正确触发。该 URL 未打开,因为 myurl.com#office 是一个伪 URL,您也无法在 codepen 中加载它。我在与codepen相同的域下更改了它。
猜你喜欢
  • 2018-07-25
  • 1970-01-01
  • 2018-06-15
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 2014-08-24
  • 1970-01-01
相关资源
最近更新 更多