使emberjs事件只被调用一次

时间:2012-08-16 10:53:14

标签: ember.js

我的应用程序包含可以包含子项的项目等等。

每个项目都有一个mouseDown事件,我希望能够用它来点击并选择一个项目。

问题在于,当我点击子项时,也会调用父项mouseDown事件。

如何停止此操作,以便只调用一次mouseDown事件,或者如果那不可行,我实际上希望在mouseDown事件中调用的函数只被调用一次。

这是一个非常简单地展示这个的jsfiddle。 http://jsfiddle.net/rmossuk/W9vmW/1/

如果单击否,则单击此处,其鼠标按下事件将被调用两次。

2 个答案:

答案 0 :(得分:3)

你必须在mouseDown函数中return false;

答案 1 :(得分:0)

或者您可以使用event.stopPropagation()。我更新了你的小提琴,请参阅http://jsfiddle.net/W9vmW/2/

关于ember中事件冒泡如何在这里工作的更多信息 - http://emberjs.com/guides/view_layer/#toc_event-bubbling

事件将在视图层次结构中冒泡,直到事件到达根视图。事件处理程序可以使用与普通jQuery事件处理程序相同的技术来停止传播:

从方法返回false event.stopPropagation