我的目标是重载Bootstrap nav pall点击事件,我很高兴遇到this post
我已经通过以下方式修改了代码以使其适用于药片,但我无法理解为什么它不起作用。
HTML:
<ul class="nav nav-pills" id="orders_tab">
<li class="active"><a data-toggle="pill" href="#orders_for_today">Текущие</a></li>
<li><a data-toggle="pill" href="#orders_sent_to_vendors">Ожидающие</a></li>
<li><a data-toggle="pill" href="#inventories">Остатки</a></li>
<li><a data-toggle="pill" href="#sales">Продажи</a></li>
<li><a data-toggle="pill" href="#sales_aggregate">Аггрегированные продажи</a></li>
<li role="presentation" class="dropdown">
<a class="dropdown-toggle" data-toggle = "dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
Прочее <span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#orders_products">Продукты</a></li>
</ul>
</li>
</ul>
JS
$('a[data-toggle="pill"]').on('shown.bs.pill', function (e) {
var target = $(e.target).attr("href") // activated tab
alert(target);
});
答案 0 :(得分:4)
Bootstrap药片和标签使用相同的JavaScript。只是.nav-pills
而不是.nav-tabs
是不同的。
将data-toggle="pill"
替换为data-toggle="tab"
,并且应该有效。
答案 1 :(得分:2)
在Bootstrap中,nav-pills又是一个样式组件而不是js组件。因此,数据切换将为data-toggle="tab"
。
为您的代码更新小提琴Fiddle
data-toggle="tab"
只需更改。
- 帮助:)