2014-11-26 2 views
0

Я хотел бы, чтобы заставить его исчезнуть при нажатии кнопки в любом другом месте на экране - по какой-то причине он не работаетЯ построить выпадающее меню

Может кто-нибудь поможет решить эту проблему!

Вот мой сценарий:

jQuery(function ($) 
{ 
    $('.dropdownlist-title .listbox').click(function() 
    { 
     if (!$(this).parent().hasClass('active')) 
      $(this).parent().addClass('active'); 
     else 
      $(this).parent().removeClass('active'); 
    }); 
}); 

ответ

1
$("*").click(function (e) { 
    e.stopPropagation(); 

    if ($(".dropdownlist-title").hasClass('active')) { 
     $(".dropdownlist-title").removeClass('active'); 
    } else { 
     if ($(this).parents().hasClass('dropdownlist-title') || $(this).attr('class') == 'dropdownlist_title') { 
      $(".dropdownlist-title").addClass('active'); 
     } 
    } 
}); 

. Вы выбираете все . Вы останавливаете распространение события, чтобы избежать нескольких вызовов . Вы закрываете выпадающий список, если необходимо . Вы открываете его, только если триггер (или некоторые из его внутренних элементов, таких как стрелки) была нажата

Работа образец здесь: http://jsfiddle.net/lukame/usob50ex/embedded/result/

+0

http://jsfiddle.net/swarupsrk/rbtvmbkt/embedded/result/смотри эту ссылку. не работает –

+0

Вот пример работы. Я также модифицировал козу выше. http://jsfiddle.net/lukame/usob50ex/embedded/result/ –

Смежные вопросы