我有一个菜单组件,它从一个数组构建一个树形菜单。
要切换子菜单,请执行以下操作:
didInsertElement:function(){
this.$('li.sub').click(function(e){
$('ul', this).slideToggle();
});
}
只要单击“设置”,我就可以正常工作。如果我尝试单击子菜单之一。 '货币'关闭父菜单项。
这是一个jsBin演示问题:
单击“设置”->,然后单击打开的子项之一:
http://emberjs.jsbin.com/bexivuhohu/6/edit
最佳答案
这样做的原因是父组件仍在处理点击-即使在子组件上单击也是如此。
我建议将click
处理移至组件而不是jQuery-并返回false
。如果子组件返回false
,则父组件不会对单击进行双重处理。
click: function() {
this.$('ul').slideToggle();
return false;
}
请参阅此工作的JSBin:http://emberjs.jsbin.com/bibeho/1/edit?html,js,output
关于javascript - emberjs菜单组件冒泡,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29940816/