2014-09-03 169 views
0

特別少,我想找到一種方法,以防止委託監聽元素的子內的事件觸發的觸發從說監聽器。所有我發現與此相關的問題的答案說使用event.stopPropagation()解決這個或類似的問題(https://stackoverflow.com/questions/15354713/are-all-child-elements-of-a-hyperlink-node-also-links#=How do you make Twitter Bootstrap Accordion keep one group open?,和其他人),而導致的問題。如果引導程序下拉列表打開,任何外部點擊都應該關閉它,但是如果事件傳播在子元素內停止,它不會關閉該下拉列表(這是可由event.stopPropagation()創建的許多錯誤的示例)。防止崩潰 - 無event.stopPropagation()

這裏是我的html:

<div id="collapser" data-toggle="collapse" data-target="#collapseDiv"> 
    <p> Title of Section </p> 
    <span> value </span> 
    <span class="glyphicon glyphicon-chevron-down"></span> 
</div> 
<div id="collapseDiv"> 
    <!-- collapsible content --> 
</div> 

我希望能夠對「價值」跨度不點擊切換可摺疊div的崩潰狀態。

謝謝!

+0

plz發佈jQuery代碼也是你已經嘗試過目前爲止 – 2014-09-03 03:07:59

+0

對不起,我剛剛刪除了jquery標籤。我還沒有嘗試任何jQuery,因爲我只是不知道該去哪裏。我想過使用創建的'hide.bs.collapse'和'show.bs.collapse'事件,但我不知道如何僅在點擊某個元素時才取消這些事件。 – Ajrmatt 2014-09-03 03:21:09

回答

0

你需要一些類添加到您的跨度值,直接瞄準它。

$('span.value').click(function(e) { 
    e.stopPropagation(); // prevents event e from going to parent 
});