var isClicked = false;
$("a[href='#tabs-1']").off("click").on("click",function(){
alert("tab 1 is click");
isClicked = true; // dont want to use like this.
});
单击选项卡时,我有此代码。我的问题是我怎么能像这样编码检查选项卡被点击? 我有这段代码片段。
if(#tabs-1' is clicked){ // do this}
有人可以指出我的解决方案。此外,我确实计划有一个布尔变量可能有帮助,但我正在寻找jquery代码来解决这个问题(如果有)。
请参阅此FIDDLE了解演示。
答案 0 :(得分:1)
怎么样:
$('#tabs').tabs({
select: function(event, ui) {
console.log($(ui.tab)); // the tab selected
alert(ui.index);
}
});
答案 1 :(得分:1)
如果您需要从每个标签访问某些自定义数据,您只需添加一个属性并在activate
上获取:
HTML:
<div id="tabs">
<ul>
<li ifselected="Tab 1 is selected"><a href="#tabs-1">Nunc tincidunt</a></li>
<li ifselected="Tab 2 is selected"><a href="#tabs-2">Proin dolor</a></li>
<li ifselected="Tab 3 is selected"><a href="#tabs-3">Aenean lacinia</a></li>
</ul>
<!-- ... -->
的Javascript:
$(function() {
$('#tabs').tabs({
activate: function(event, ui) {
alert($(ui.newTab).attr('ifselected'));
}
});
});
这是 fiddle 。
编辑:
通话功能:
$(function() {
var tabfuncs = [
() => alert("Tab 1 is selected"),
() => alert("Tab 2 is selected"),
() => alert("Tab 3 is selected")
];
$('#tabs').tabs({
activate: function(event, ui) {
tabfuncs[$(ui.newTab).index()]();
}
});
});
另一个 fiddle
答案 2 :(得分:0)
我明白你想要在单击选项卡之后放置一些逻辑,并希望执行某些逻辑,然后首先必须声明全局字符串变量而不是包含 #tab 的ID或标题的本地布尔变量,如下面的代码段
window.tabclicked = "";
然后你必须为变量分配点击标签的id,如下所示
$(function () {
$("#tabs").tabs();
$("a[href='#tabs-1']").off("click").on("click", function () {
tabclicked = $(this).prop('href');
});
});
然后你可以为你使用switch语句
switch (tabclicked)
{
case "#tab1":
{
// your logic here
break;
}
default:
break;
}