【发布时间】:2012-01-30 19:36:02
【问题描述】:
我需要在backbone.js-view 中绑定两个事件才能切换菜单。其想法是,如果单击 id 为 #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();
}
});
【问题讨论】:
标签: jquery javascript-events backbone.js