事件mouseleave无法与addEventListener一起使用

我始终将这种方法用于单击事件,但是我需要将其用于mouseleave事件,并且该方法不起作用。这是一个简单的javascript框架的一部分。

当我使用mouseout事件时,它将不适用于子元素。

Constructor.prototype.onEvent = function (event , selector, callback) {
    document.addEventListener(event, function(e) {
        for (var target = e.target; target && target !== this; target = target.parentNode) {
            if (target.matches(selector)) {
                callback.call(target, e);
                break;
            }
        }
    }, false);
    return this;
};

X('body').onEvent('mouseleave','.element',function(){ alert('not working') });//not working
X('body').onEvent('mouseout','.element',function(){ alert('works') });// not working on child elements
评论