私は、ボタンをクリックするだけでタブを表示するのではなく、ブートストラップタブパネルを取得しようとしています。 「オフィス」タブをクリックするとページがリロードされ、#オフィスタブが表示されます。私はそれがすべて働いている...ページリロードを除いて。それは決して発火しません。JS Bootstrapタブ付きパネル、クリック時にURLをロード
https://codepen.io/anon/pen/QOqrvY
私は、ボタンをクリックするだけでタブを表示するのではなく、ブートストラップタブパネルを取得しようとしています。 「オフィス」タブをクリックするとページがリロードされ、#オフィスタブが表示されます。私はそれがすべて働いている...ページリロードを除いて。それは決して発火しません。JS Bootstrapタブ付きパネル、クリック時にURLをロード
https://codepen.io/anon/pen/QOqrvY
ます:Codepen更新
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/
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
@Krisは実際には、これはwindow.location.hrefを使用していません。また、これが唯一の方法であるため、あなたのコメントのコピーがどのような解決策でもあることを暗示しています。申し訳ありませんが、これはむしろ基本的なものですか? – alexisdevarennes
ありがとうございますが、これはまだ動作しません。このコードを見てください:https://codepen.io/anon/pen/QOqrvY – Kiksy
Location.replaceを(使用)は、パラメータとしてURLを取る関数です。
試してみてください。
window.location.replace("http://www.myurl.com#office");
ありがとうございます、しかし、新しいURLは決して読み込まれません、そして、私はなぜうまくいかないのですか?参照:https://codepen.io/anon/pen/QOqrvY – Kiksy
@Kiksy "office"のid属性が間違った要素に割り当てられているため、コードが機能しません。タブパネルの代わりにタブボタンに割り当てる必要があります。これをチェックしてください:https://codepen.io/anon/pen/jaGQWL – Eliellel
それを使って:https://codepen.io/anon/pen/jaGQWL新しいURLは開かず、タブは表示されません動作するようですか? – Kiksy
本当に正しいアプローチではありません。ブートストラップの組み込みコールバックを使用して、コンテンツをリロードする必要があります。タブではありません。 – isherwood
e.preventDefault()を削除し、戻り値falseを削除します – Kris