2015-06-23 3 views
5

Используя jQuery mmenu plugin, мне нужно вызвать функцию JavaScript либо после завершения закрытия меню, либо одновременно. В документации я не вижу никаких предложений по закрытию всего меню, но только для closePanel. Мне нужно вставить в функцию закрытия mmenu еще одну (обычную), чтобы скрыть эффект лайтбокса на странице.Событие обратного вызова, когда jQuery 'mmenu' закрыт

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#menu").mmenu({ 
    "extensions": [ 
    "theme-white" 
    ], 
    "offCanvas": { 
     "zposition": "front" 
    }, 
    "slidingSubmenus": false 
}); 
$("#menu").show(); 
}); 
</script> 

<script type="text/javascript"> 
function lightbox(){  
(function($) {  
    // some stuff 
})(jQuery);} 
</script> 

Есть ли способ связать другую функцию после того, как плагин был закрыт или лучше, когда все действия закрытия меню?

ответ

3

вы могли бы попробовать привязки к событию закрытия

$('#mmenu').on('closing.mm', function() { 
    // do something 
}); 

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

$('#mmenu').on('closed.mm', function() { 
    // do something 
}); 
+0

Ahh закрытие, что я искал, спасибо! – Jimmyt1988

6

У меня был точно такой же вопрос сегодня и после некоторых возиться, это работает для меня. Привязать к раскрытым/закрытым событиям, как так:

$('#mmenu_id').data('mmenu').bind('opened', function() { 
 
    console.log('opened'); 
 
}); 
 
$('#mmenu_id').data('mmenu').bind('closed', function() { 
 
    console.log('closed'); 
 
});

+0

Это событие после закрытия панели ... Если вы хотите, чтобы событие произошло сразу после запроса закрытия, что вы делаете? – Jimmyt1988

+1

Это может помочь, http://mmenu.frebsite.nl/documentation/api.html Я не вижу событие, доступное для привязки перед действием. Вы могли бы прикрепить прослушиватель событий к самой кнопке закрытия? – circlecube

+2

В ответе «atmd» указано событие «закрытие», которое отлично работает. Спасибо чувак. – Jimmyt1988