
2.4.1判断鼠标停留还是离开
JFAST.register("evt.isMouseLeaveOrEnter",
function(a) {
    return function(e, handler) {
        if (e.type != 'mouseout' && e.type != 'mouseover') return false;
        var reltg = e.relatedTarget ? e.relatedTarget: e.type == 'mouseout' ? e.toElement: e.fromElement;
        while (reltg && reltg != handler) reltg = reltg.parentNode;
        return (reltg != handler);
    }
});
2.4.2添加监听事件
JFAST.register("evt.addEvent",
function(a) {
    return function(el, type, listener, useCapture) {
        var el = $E(el);
        if (el == null) {
            return
        }
        if (typeof listener != "function") {
            return
        }
        type = type || "click";
        useCapture = useCapture ? useCapture: false;
        if (el.addEventListener) {
            el.addEventListener(type, listener, useCapture);
        } else {
            if (el.attachEvent) {
                el.attachEvent("on" + type, listener);
            } else {
                el["on" + type] = listener
            }
        }
        return true
    };
});
2.4.3取得Event对象
JFAST.register("evt.getEvent",
function(a) {
    if (a.IE) {
        return function() {
            return window.event
        }
    } else {
        return function() {
            if (window.event) {
                return window.event
            }
            var b = arguments.callee.caller;
            var a;
            var c = 0;
            while (b != null && c < 40) {
                a = b.arguments[0];
                if (a && (a.constructor == Event || a.constructor == MouseEvent)) {
                    return a
                }
                c++;
                b = b.caller
            }
            return a
        }
    }
});
2.4.4删除监听事件
JFAST.register("evt.removeEvent",
function(a) {
    return function(b, c, d, e) {
        var f = a.E(b);
        if (f == null) return ! 1;
        if (typeof d != "function") return ! 1;
        f.removeEventListener ? f.removeEventListener(c, d, e) : f.detachEvent ? f.detachEvent("on" + c, d) : f["on" + c] = null;
        return ! 0
    }
});
2.4.5停止冒泡
JFAST.register("evt.stopEvent",
function(a) {
    return function(c) {
        var b = c ? c: a.evt.getEvent();
        if (a.IE) {
            b.cancelBubble = true;
            b.returnValue = false
        } else {
            b.preventDefault();
            b.stopPropagation()
        }
        return false
    }
});
2.4.6统一Event属性
JFAST.register("evt.fixEvent",
function(a) {
    return function(event) {
        if (typeof event == "undefined") {
            event = window.event
        }
        if (!event.target) {
            event.target = event.srcElement;
            event.pageX = event.x;
            event.pageY = event.y
        }
        if (typeof event.layerX == "undefined") {
            event.layerX = event.offsetX
        }
        if (typeof a.layerY == "undefined") {
            event.layerY = event.offsetY
        }
        return event;
    }
});
2.4.7触发绑定事件
JFAST.register("evt.fireEvent",
function(a) {
    return function(c, d) {
        _el = a.E(c);
        if (a.IE) {
            _el.fireEvent("on" + d)
        } else {
            var b = document.createEvent("HTMLEvents");
            b.initEvent(d, true, true);
            _el.dispatchEvent(b)
        }
    }
});
如果本篇文章帮到了你,那么,请点击右侧的百度分享,让我们一起帮助更多的朋友!

