2015-06-11 39 views
0

我对具有相关产品的商店中提供的产品也有以下代码。我想获得崩溃事件divid。但是从代码中,我得到了两个触发的结果,当崩溃的嵌套列表。引导面板折叠事件触发多次

HTML

<a data-toggle="collapse" data-parent="#accordion" href="#collapse1"> 
    <font style="color: black;"><b>Product List</b></font> 
</a> 
<div id="collapse1" class="panel-collapse collapse in"> 
<div class="accordion"> 
    <a data-toggle="collapse" data-parent="#accordion" href="#collapse2"> 
     <b>Product1</b> 
    </a> 
</div>   
<div id="collapse2" class="panel-collapse collapse in"> 
     Product1 Description 
     <br/> 
     <a data-toggle="collapse" data-parent="#accordion" href="#collapse3"> 
       <b>Related Products</b> 
     </a>                
     <div id="collapse3" class="panel-collapse collapse in">      
       Related Product2 
       <br/>Related Product3                 
     </div> 
    </div> 
</div> 

的JavaScript

$('.collapse').on('show.bs.collapse', function (e) { 
    if ($(this).hasClass("in")) { 
     console.log('id:'+e.currentTarget.id); 
    }       
}) 

当我得到以下结果: 在产品1 输出=>

id:collapse1 

相关产品 输出=>

id:collapse2 
id:collapse1 

如何从第二个结果(仅id: collapse2)得到一个结果,因为它显示了两个触发效果。我在别的地方做错了吗?

回答

0

我已经解决了这个问题。我修改了js事件函数如下,即使它不需要任何$(this).hasClass("in")检查。

$(document).on('show.bs.collapse', function (e) {   
    console.log('id:'+e.target.id);         
})