【发布时间】:2015-11-05 10:55:35
【问题描述】:
所以我有一个使用引导程序的 Ember 应用程序。我看起来工作正常,但我在从下拉菜单中获取按钮以触发操作时遇到问题。我可以在该下拉菜单之外使用一个按钮调用相同的操作,并且效果很好。
控制器:
actions: {
clearWords: function(){
console.log("clear it!!");
}
}
哈佛商学院:
<li>
<div class="dropdown"> ...
<button type="button" {{action "clearWords"}}>Clear</button>
...
</div>
</li>
<li>
<button type="button" {{action "clearWords"}}>Clear</button>
<!-- ^^ this one works -->
</li>
我尝试将目标添加到动作位,但这也不起作用。
{{action "clearWords" target="controller.controllerName"}}
任何能让我走上正确方向的建议都将不胜感激。
PS:如果您碰巧从 JSBin 发布示例代码,您可以使用 JSFiddle 代替吗?我在这里看不到我的代理后面的 JSBin :(
【问题讨论】:
-
Bootstrap 下拉菜单使用了一些 Javascript,那里会不会有一些干扰? Bootstrap 会取消该下拉菜单中的事件/事件冒泡吗?
-
link 。你能显示更多的代码。某些第三方 js 确实取消了导致 ember 操作不被触发的事件冒泡。但我不认为引导下拉菜单做这样的事情。
-
谢谢大家,原来在控制器中调用了一个
stopPropagation(),它阻止了动作冒泡。我们使用它来保持下拉菜单在内部单击时保持打开状态。感谢您的建议,我得以缩小范围。