Я новичок в jquery, и я ищу код Google, чтобы создать их кнопку «Больше». У меня есть работающий atm, но единственный способ уменьшить падение - это снова нажать кнопку «Еще». Есть ли способ, который я могу добавить, чтобы изменить это, чтобы любой щелчок за пределами выпадающего меню сам закроет его? Спасибо за понимание!
Привязать событие click к html для захвата любого щелчка и скрыть его
$("html").click(function() {
menu.find('.active').removeClass('active');
});
Then override that on your menu's click
event using .stopPropagation();
menu.find('ul li > a').bind('click', function (event) {
event.stopPropagation();
Fiddle: http://jsfiddle.net/rKaPN/12/
Вместо того чтобы проверять каждый щелчок на элементе html dom, вы можете привязать событие размытия к определенному элементу меню, когда вы активируете его, затем выключите его, когда будет запущено событие размытия. Замените эти несколько строк:
//displaying the drop down menu
$(this).parent().parent().find('.active').removeClass('active');
$(this).parent().addClass('active');
с этими:
//displaying the drop down menu
$('.active').removeClass('active');
$(this).parent().addClass('active');
$(this).blur(function() {
$('.active').removeClass('active');
});