【问题标题】:make emberjs event only get called once让 emberjs 事件只被调用一次
【发布时间】:2012-08-16 10:53:13
【问题描述】:

我有一个应用程序,其中的项目可以包含子项目等。

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

问题是当我点击一个子项时,父母的 mouseDown 事件也会被调用。

我如何停止这种情况,以便 mouseDown 事件只被调用一次,或者如果那不可能,我实际上希望在 mouseDown 事件中调用的函数只被调用一次。

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

如果你点击不点击这里它的鼠标按下事件被调用两次。

【问题讨论】:

    标签: ember.js


    【解决方案1】:

    你必须在 mouseDown 函数中return false;

    【讨论】:

      【解决方案2】:

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

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

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

      从方法中返回 false event.stopPropagation

      【讨论】:

        猜你喜欢
        • 2018-02-08
        • 2019-04-18
        • 1970-01-01
        • 2012-02-20
        • 2021-01-04
        • 2019-08-23
        • 2017-09-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多