如果没有单击Bootstrap选项卡,如何在jQuery中进行检查
How to check in jQuery if a Bootstrap tab isn't clicked?
我在Bootstrap中有标签:
<ul class="nav nav-tabs" role="tablist">
<li>tab1</li>
<li>tab2</li>
<li>tab3</li>
<li>tab4</li>
<li>tab5</li>
</ul>
<p id="message"></p>
我怎样才能使它,当没有选项卡被点击一个消息'请选择一个选项卡'显示?
我在标签下面做了一个<p id="message"></p>
,我只需要在没有标签被点击时插入消息,当标签被点击时删除消息,但我不知道如何检查。
对于Bootstrap选项卡,您还需要内容容器。在本例中,我将把消息div放入tab-content
div:
<!-- Tab panes -->
<div class="tab-content">
<div role="tabpanel" class="tab-pane" id="home">...</div>
<div role="tabpanel" class="tab-pane" id="profile">...</div>
<div role="tabpanel" class="tab-pane" id="messages">...</div>
<div role="tabpanel" class="tab-pane" id="settings">...</div>
<p id="message">Please select some tab</p>
</div>
…并使其隐藏,以防任何选择与简单的CSS规则:
.tab-pane.active ~ #message {
display: none;
}
.tab-pane.active ~ #message {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<link data-require="bootstrap-css@*" data-semver="3.3.1" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" />
<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"><a href="#profile" aria-controls="profile" role="tab" data-toggle="tab">Profile</a></li>
<li role="presentation"><a href="#messages" aria-controls="messages" role="tab" data-toggle="tab">Messages</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" id="profile">Profile</div>
<div role="tabpanel" class="tab-pane" id="messages">Messages</div>
<p id="message">Please select some tab</p>
</div>
演示:http://plnkr.co/edit/1VaF3NoTRK4X2pnd651G?p=info
@dfsq发布的解决方案比下面的更优雅。但是,如果您的情况不允许您更改HTML标记,这里有另一种方法。
var selectedTab = $('.nav-tabs li.active');
if(selectedTab.length === 0){
$('#message').html('Please select tab');
}
引导程序有'show .bs. 'Tab '事件,以便在单击Tab时捕获。您可以如下所示使用它。
$(document).on( 'shown.bs.tab', 'a[data-toggle="tab"]', function (e) {
console.log(e.target) // activated tab
})
在BootStrap
中,当一个选项卡被点击时,相应的li
元素得到active
类,而其他li
标签没有这个类,直到点击。
您可以使用以下代码来检查是否单击了任何选项卡:
$(function(){
CheckTabClick()
})
$(".nav-tabs li").click(function(){
CheckTabClick()
})
function CheckTabClick(){
var tab_clicked = $(".nav-tabs li.active")
if (tab_clicked.length == 0){
$("#message").show();
}
else{
$("#message").hide();
}
}
相关文章:
- Jquery如何检查今天的时间大于使用给定时间
- ajax在输入等于null时进行检查
- JQuery:如何检查某个类的所有复选框是否都在表单中选中
- 从id标记中的文本进行检查,并将类添加到另一个标记中
- Rails:使用Jquery进行Text_Area字符计数
- 对DataTable jquery进行排序,排除文本字段中的空白
- 如何使用jQuery实时检查元素是否为空
- 将PHP变量传递给javascript/jquery进行错误检查
- 从Jquery日历中选择日期,并通过数据库进行检查,并打印该日期的事件
- jQuery在删除标记之前进行检查
- 多个复选框不会't使用jquery进行预检查.来自Php/ajax
- JQuery如果选中复选框,则选中仅在加载时进行检查
- 递归jquery函数,然后进行检查
- 检查页面加载上的输入字段并使用jquery进行操作
- 如果没有单击Bootstrap选项卡,如何在jQuery中进行检查
- jquery 1.6.2使用.pr()进行检查和禁用
- Javascript/JQuery从多个输入创建一个数组,然后将它们与其他数组进行检查
- 使用jQuery进行电子邮件检查不起作用
- 如果使用 jquery 进行会话检查在后台失败,如何重定向索引.php页面
- Jquery,如果复选框被选中,则使用具有该复选框id的变量进行检查