我的应用程序包含可以包含子项的项目等等。
每个项目都有一个mouseDown事件,我希望能够用它来点击并选择一个项目。
问题在于,当我点击子项时,也会调用父项mouseDown事件。
如何停止此操作,以便只调用一次mouseDown事件,或者如果那不可行,我实际上希望在mouseDown事件中调用的函数只被调用一次。
这是一个非常简单地展示这个的jsfiddle。 http://jsfiddle.net/rmossuk/W9vmW/1/
如果单击否,则单击此处,其鼠标按下事件将被调用两次。
答案 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