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)
}
}
});
如果本篇文章帮到了你,那么,请点击右侧的百度分享,让我们一起帮助更多的朋友!