Events 余烬中的事件冒泡/捕获/委派

Events 余烬中的事件冒泡/捕获/委派,events,event-handling,ember.js,delegation,Events,Event Handling,Ember.js,Delegation,很难解释实际的代码,因为我不知道问题出在哪里,但如果有人能帮助解释事件是如何被删除/冒泡进入Ember,那就太好了 我有一个例子,在视图中,文档上的鼠标移动。当使用outlets动态插入视图时,会发生这种情况 鼠标移动绑定代码: MOVE_EVENT = touch ? 'touchmove' : 'mousemove', $(document).on(MOVE_EVENT, function (e) { console.log('move event move=tru

很难解释实际的代码,因为我不知道问题出在哪里,但如果有人能帮助解释事件是如何被删除/冒泡进入
Ember
,那就太好了

我有一个例子,在
视图中,
文档
上的
鼠标移动
。当使用
outlets
动态插入
视图时,会发生这种情况

鼠标移动绑定代码:

 MOVE_EVENT = touch ? 'touchmove' : 'mousemove',   
 $(document).on(MOVE_EVENT, function (e) {
        console.log('move event move=true');
    if (move) {
        e.preventDefault();
        stop = getY(e);
        //console.log('move event move=true');
        var val = pos + (start - stop) / h;
        val = val > (max + 1) ? (max + 1) : val;
        val = val < (min - 1) ? (min - 1) : val;
        inst.scroll(target, val);
    }
});
skiptimes插入到
RepeatView
上的oulet中。在这种状态更改之后,
重复视图
中的鼠标移动不会被触发,或者不会触发
文档
上的鼠标移动在我将鼠标移到父视图区域之外的同时(
RepatView
),然后鼠标移动显示日志。

简而言之,视图中的鼠标移动不会被触发。我已提出:

mouseMove : function(e){
    console.log('Mouse Move in Blah Blah View');
    }
RepeatView
中的每个视图中,包括
RepeatView
,都不会触发任何事件。但当显示日志时,会触发鼠标在
RepeatView
的父级上移动并向上移动

很难在实际代码中解释,因为我不知道问题出在哪里,但如果有人能帮助解释事件是如何在Ember中被删除/冒泡的,那就太好了

更新

经过进一步调查,似乎是以下在余烬最新的stopPropogation导致了这一点,还不能理解为什么它会去其他地方

  setupHandler: function(rootElement, event, eventName) {
    var self = this;

    rootElement.delegate('.ember-view', event + '.ember', function(evt, triggeringManager) {

      var view = Ember.View.views[this.id],
          result = true, manager = null;

      manager = self._findNearestEventManager(view,eventName);

      if (manager && manager !== triggeringManager) {
        result = self._dispatchEvent(manager, evt, eventName, view);
      } else if (view) {
        result = self._bubbleEvent(view,evt,eventName);
      } else {
        //evt.stopPropagation();
      }

      return result;
    });

您能否提供一个最小的JSFIDLE来重现这种情况?
  setupHandler: function(rootElement, event, eventName) {
    var self = this;

    rootElement.delegate('.ember-view', event + '.ember', function(evt, triggeringManager) {

      var view = Ember.View.views[this.id],
          result = true, manager = null;

      manager = self._findNearestEventManager(view,eventName);

      if (manager && manager !== triggeringManager) {
        result = self._dispatchEvent(manager, evt, eventName, view);
      } else if (view) {
        result = self._bubbleEvent(view,evt,eventName);
      } else {
        //evt.stopPropagation();
      }

      return result;
    });