Bir Twitter Bootstrap açılır menüm var. Tüm Twitter Bootstrap kullanıcılarının bildiği gibi, açılır menü tıklandığında kapanır (içinde tıklatarak bile).
Bundan kaçınmak için, açılır menüye kolayca bir tıklama olay işleyicisi ekleyebilir ve ünlüleri ekleyebilirim event.stopPropagation()
.
<ul class="nav navbar-nav">
<li class="dropdown mega-dropdown">
<a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-list-alt"></i> Menu item 1
<span class="fa fa-chevron-down pull-right"></span>
</a>
<ul class="dropdown-menu mega-dropdown-menu">
<li>
<div id="carousel" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-slide-to="0" data-target="#carousel"></li>
<li class="active" data-slide-to="1" data-target="#carousel"></li>
</ol>
<div class="carousel-inner">
<div class="item">
<img alt="" class="img-rounded" src="img1.jpg">
</div>
<div class="item active">
<img alt="" class="img-rounded" src="img2.jpg">
</div>
</div>
<a data-slide="prev" role="button" href="#carousel"
class="left carousel-control">
<span class="glyphicon glyphicon-chevron-left"></span>
</a>
<a data-slide="next" role="button" href="#carousel"
class="right carousel-control">
<span class="glyphicon glyphicon-chevron-right"></span>
</a>
</div>
</li>
</ul>
</li>
</ul>
Bu kolay ve çok yaygın bir davranış carousel-controls
gibi görünmektedir carousel indicators
ve olay işleyicileri document
nesneye (ve aynı zamanda ) aktarıldığından, click
bu öğelerdeki olay ( önceki / sonraki denetimler, ...) “yoksayılır”.
$('ul.dropdown-menu.mega-dropdown-menu').on('click', function(event){
// The event won't be propagated up to the document NODE and
// therefore delegated events won't be fired
event.stopPropagation();
});
Twitter Bootstrap açılır hide
/ hidden
etkinliklerine güvenmek aşağıdaki nedenlerden ötürü bir çözüm değildir:
- Her iki olay işleyicisi için sağlanan olay nesnesi, tıklanan öğeye başvuru vermez
flag
Sınıf veya öznitelik eklemek mümkün olmadığından açılır menü içeriği üzerinde kontrolüm yok
Bu keman normal bir durumdur ve bu keman edilir ile event.stopPropagation()
ekledi.
Güncelleme
Cevabı için Roma'ya teşekkürler . Ayrıca aşağıda bulabileceğiniz bir cevap buldum .
event propagation
durdurulduğundan beri karusel kaymaz .