【发布时间】:2014-04-09 10:33:21
【问题描述】:
我有这段代码,当单击图标编辑跨度时,它会触发一个打开模式的操作,但是,与此同时,单击会传播到它下面的视图(personView)。我希望该操作执行并停止传播。
我能想到的唯一解决方案是让图标编辑自己的视图并通过在方法 click 中返回 false 来停止点击传播。有没有其他方法可以做到这一点而无需另辟蹊径?
哈佛商学院:
{{#view Blocks.PersonView}}
<span class="inline pull-right icon-edit" {{action 'modalOpen' 'modifyPersonPopup' 'modifyPerson' this}}></span>
<p class="inline pull-left person-name">{{firstNameDelayed}}</p>
{{/view}}
【问题讨论】:
-
PersonView 中是否已经调用了单击事件挂钩,您是否正在处理 modalOpen 操作中的单击?
-
人物视图中有一个点击事件挂钩
-
一种选择是查看 PersonView 中的 event.target,如果目标是 .icon-edit,则使用 Em.ViewtargetActionSupport mixin 来调用操作 modalOpen。但这仍然有点骇人听闻。您可能需要使用 event.preventDefault();和 event.stopPropagation();也在一起。
标签: javascript view ember.js click