javascript函数在单击时触发两次
我正在构建一个web应用程序,我有一个奇怪的问题,我有以下HTML 它有类似于这种格式的代码javascript函数在单击时触发两次,javascript,javascript-events,jquery,Javascript,Javascript Events,Jquery,我正在构建一个web应用程序,我有一个奇怪的问题,我有以下HTML 它有类似于这种格式的代码 <article class="item"> <header class="active"> </header> <div class="item_content"> <div class="item-tabs"> <ul>
<article class="item">
<header class="active">
</header>
<div class="item_content">
<div class="item-tabs">
<ul>
<li><a href="#" class="tab-link">Description</a><li>
<li><a href="#" class="tab-link">Tasks</a></li> <!-- THERE IS A CLICK EVENT ON THIS -->
</ul>
<div class="tab-content item-description">Description</div>
<div class="tab-content item-tasks">Tasks</div>
</div>
<article class="item">
<header class="active">
</header>
<div class="item_content">
<div class="item-tabs">
<ul>
<li><a href="#" class="tab-link">Description</a><li>
<li><a href="#" class="tab-link">Tasks</a></li> <!-- THERE IS A CLICK EVENT ON THIS -->
</ul>
<div class="tab-content item-description">Description</div>
<div class="tab-content item-tasks">Tasks</div>
</div>
</div>
</article>
</article>
点击处理程序是如何注册的?您是如何绑定您的
点击处理程序的?只需检查脚本是否可能包含我两次…我也发生了同样的事情。创建一个小提琴,让我们更容易。@ArunPJohny我在主干视图事件对象中注册点击处理程序,如下所示,“click.tab链接”:“itemTab”
itemTab: function(e) {
var clicked = $(e.currentTarget),
clickedTab = clicked.data("tab");
if(clicked.closest(".item-tabs").find("." + clickedTab).css("display") == "block")
{
clicked.closest(".item-tabs").find(".tab-content.active").slideUp(500, function(){
clicked.closest(".item-tabs").find(".tab-content.active").removeClass("active");
});
clicked.closest(".item-tabs").find(".close").css("visibility", "hidden");
clicked.closest(".item-tabs").find("li.active").removeClass("active");
}
else
{
clicked.closest(".item-tabs").find(".tab-content.active").removeClass("active");
clicked.parent().addClass("active");
clicked.closest(".item-tabs").find("." + clickedTab).addClass("active");
clicked.closest(".item-tabs").find(".close").css("visibility", "visible");
}
e.preventDefault();
//stop();
},