Мне нужно связать два события в моем backbone.js
-обзоре, чтобы переключить меню. Идея состоит в том, что, если нажать кнопку с идентификатором #toggler
, меню откроется, и любой щелчок вне элемента #menu
скроет меню.
К сожалению, я не могу заставить это работать с привязкой событий магистрали без вызова outsideMenuHandler()
при каждом щелчке независимо от того, щелкнул я по элементу #menu
или нет.
Что я должен изменить, чтобы сделать эту работу?
Это то, что я сделал в backbone.js, который не работает должным образом:
myView = Backbone.View.extend({
events: {
'click #menu': 'insideMenuHandler',
'click': 'outsideMenuHandler'
}
insideMenuHandler: function(e) {}, // Called when clicking #menu
outsideMenuHandler: function(e) {} // Called on every click both on and off #menu
}
Для справки, вот что я хотел бы сделать, используя только jQuery:
$(document).click(function(event) {
if ( $(event.target).closest('#menu').get(0) == null ) {
$("#menu").slideUp();
}
});