1
私はLiferayのドロップダウンボタンを使っています。要素の外側をクリックしてドロップダウンを非表示にしないでください
ブートストラップ自身2のLiferayの機能は、私は私は1つを開いたり、他が選出されたボタンに依存0
の1を作成し、私のために動作しませ。そして私がアイテムを計算すると、私の隠れます。
しかし、私はhtmlの外のどこかをクリックすると、私はドロップダウンを隠すだけです。
それは私に失敗ですか?
HTML
<div id="desplegableBoton">
<div class="btn-toolbar">
<div class="btn-group">
<button data-toggle="dropdown" class="btn dropdown-toggle">Configurar <span class="caret"></span></button>
<ul class="dropdown-menu">
<li><a href="#">Cambio de canal Wifi</a></li>
<li><a href="#">Recuperación de contraseña wifi</a></li>
<li><a href="#">Velocímetro</a></li>
<li><a href="#">Contratar upgrade</a></li>
</ul>
</div><!-- /btn-group -->
<div class="btn-group">
<button data-toggle="dropdown" class="btn btn-default dropdown-toggle">Consultar <span class="caret"></span></button>
<ul class="dropdown-menu">
<li><a href="#">Cambio de canal Wifi</a></li>
<li><a href="#">Recuperación de contraseña wifi</a></li>
<li><a href="#">Velocímetro</a></li>
<li><a href="#">Contratar upgrade</a></li>
</ul>
</div><!-- /btn-group -->
</div>
</div>
jQueryの
desplegable: function() {
$('.btn').unbind().click(function(){
$('.btn.active').next('.dropdown-menu').slideUp();
$('.btn.active').removeClass('active');
$(this).stop().toggleClass('active');
$(this).next('.dropdown-menu').stop().slideToggle();
$('body').on('click', function (e) {
if (!$('.btn.active').is(e.target) && $('.btn.active').has(e.target).length === 0 && $('.active').has(e.target).length === 0) {
$('.btn.active').removeClass('active');
console.log("aaa");
}
});
});
}
完璧! これは機能しました!ありがとうございました !! :) –