您的位置:首页 > Web前端

百度有啊前端框架分析(浏览器内置事件)

2009-10-28 22:29 666 查看
事件是JavaScript中非常重要的一个内容,在百度有啊的前端框架中主要对事件分成了浏览器内置事件和自定义事件两部分。
BBEvent下主要对浏览器内置事件进行了标准化。

target :事件目标对象

BBEvent.target = function(A) {
A = A || window.event;
return A.target || A.srcElement;
};
[/code]
isLeftClick :判断是否为鼠标左键点击

BBEvent.isLeftClick = function(A) {
A = A || window.event;
return (((A.which) && (A.which == 1)) || ((A.button) && (A.button == 1)));
};
[/code]
pageX :鼠标相对于整个页面的X轴的坐标

BBEvent.pageX = function(A) {
A = A || window.event;
return A.pageX || (A.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft));
};
[/code]
pageY :鼠标相对于整个页面的y轴的坐标

BBEvent.pageY = function(A) {
A = A || window.event;
return A.pageY || (A.clientY + (document.documentElement.scrollTop || document.body.scrollTop));
};
[/code]
pagePosition :鼠标相对整个页面的坐标

BBEvent.pagePosition = function(A) {
A = A || window.event;
return {
x: BBEvent.pageX(A),
y: BBEvent.pageY(A)
};
};
[/code]
layerX 鼠标相对于当前元素的X坐标(当前元素要position:absolute,否则会跟pageX相同)

BBEvent.layerX = function(A) {
A = A || window.event;
return A.layerX || A.offsetX;
};
[/code]
layerY鼠标相对于当前元素的Y坐标(当前元素要position:absolute)

BBEvent.layerY = function(A) {
A = A || window.event;
return A.layerY || A.offsetY;
};
[/code]
layerPosition 鼠标相对于当前元素的坐标(当前元素要position:absolute)

BBEvent.layerPosition = function(A) {
A = A || window.event;
return {
x: BBEvent.layerX(A),
y: BBEvent.layerY(A)
};
};
[/code]
preventDefault 阻止浏览器默认动作的发生

BBEvent.preventDefault = function(A) {
A = A || window.event;
if (A.preventDefault) {
A.preventDefault();
} else {
A.returnValue = false;
}
};

stopPropagation 阻止事件冒泡

BBEvent.stopPropagation = function(A) {
A = A || window.event;
if (A.stopPropagation) {
A.stopPropagation();
} else {
A.cancelBubble = true;
}
};
[/code]
observe添加事件监听器

stopObserving删除事件监听器

fireEvent触发事件

CustEvent是对自定义事件服务的。

observe

stopObserving

fireEvent
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐