我有一个菜单组件,它从一个数组构建一个树状菜单。 要切换我做的子菜单:
didInsertElement:function(){
this.$('li.sub').click(function(e){
$('ul', this).slideToggle();
});
}
只要点击“设置”,我就可以正常工作。如果我尝试单击其中一个子菜单。 'Currency'它关闭父菜单项。
这是一个用于演示问题的jsBin: 点击“设置” - >然后单击其中一个打开的子项:
答案 0 :(得分:2)
原因是父组件仍处理点击 - 即使点击子组件也是如此。
我建议将click
处理移动到组件而不是jQuery - 并返回false
。如果子组件返回false
,则父组件不会双重处理单击。
click: function() {
this.$('ul').slideToggle();
return false;
}
请参阅此工作JSBin:http://emberjs.jsbin.com/bibeho/1/edit?html,js,output