?? events.lib.js
字號:
?/*
By Hangring
#2007.12.25#
---
use list:
> global.lib.js
---
事件綁定類
---
對不同對象注冊相同的方法,在IE中可能產生異常,
可由Function.prototype.Rebuild解決(X)
*/
$Defined('Events');
var Events = {};
Events.AttachEvent = function (obj, eventName, func, useCapture, _window) {
obj = $(obj);if (!obj) return;
useCapture = useCapture ? true : false;
eventName = eventName.toLowerCase();
if (obj.addEventListener) {
obj.addEventListener(eventName, func, useCapture);
}
//else if (obj.attachEvent) {
// obj.attachEvent('on' + eventName, func);
//}
else {
var E = this;
this._AttachEvent(obj, eventName, func);
obj['on' + eventName] = function (e) {E._FireEvent(obj, eventName, e, _window);};
}
};
Events.RemoveEvent = function (obj, eventName, func, useCapture) {
obj = $(obj);if (!obj) return;
useCapture = useCapture ? true : false;
eventName = eventName.toLowerCase();
if (obj.removeEventListener) {
obj.removeEventListener(eventName, func, useCapture);
}
//else if (obj.detachEvent) {
// obj.detachEvent('on' + eventName, func);
//}
else {
if (obj.events && obj.events[eventName]) {
var evts = obj.events[eventName];
for (var i = 0, len = evts.length; i < len; i++) {
if (evts[i] && func && evts[i] === func) {
evts.splice(i, 1);
break;
}
}
}
}
};
Events._AttachEvent = function (obj, eventName, func) {
eventName = eventName.toLowerCase();
if (! obj.events) obj.events = {};
if (! obj.events[eventName]) obj.events[eventName] = [];
var evts = obj.events[eventName];
evts[evts.length] = func;
};
Events._FireEvent = function (obj, eventName, e, _window) {
e = _window ? _window.event : $E(e);
eventName = eventName.toLowerCase();
if (!obj || !obj.events || !obj.events[eventName]) return;
var evts = obj.events[eventName];
for (var i = 0, len = evts.length; i < len; i++)
evts[i] && evts[i].call(obj, e, obj);
};
Events.CancelBubble = function (e) {
if (!e) return;
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
};
Events.CancelEvent = function (e) {
if (!e) return;
e.returnValue = false;
if (e.preventDefault) e.preventDefault();
};
Events.CancelAll = function (e) {
this.CancelBubble(e);
this.CancelEvent(e);
};
Events.Button = function (e) {
if (e.button != undefined) return e.button;
else if (e.which != undefined) return e.which;
};
// 預先執(zhí)行程序
Events.OnLoadTasks = [];
Events.AttachEvent(window, 'load', function () {
for (var i = 0; i < Events.OnLoadTasks.length; i++) {
if (typeof Events.OnLoadTasks[i] === 'function')
Events.OnLoadTasks[i]();
}
});
/*
// 添加監(jiān)聽
Events.AttachEvent($('abc'), 'mousedown', _md1);
Events.AttachEvent($('abc'), 'mousedown', _md2);
function _md1 (e, th) {
th = th || this; // (or) th = this;
alert('aaa' + e);
Events.CancelBubble(e);
}
function _md2 (e, th) {
th = th || this; // (or) th = this;
alert('bbb' + e);
Events.CancelBubble(e);
}
// 移除監(jiān)聽
Events.RemoveEvent($('abc'), 'mousedown', _md1);
Events.RemoveEvent($('abc'), 'mousedown', _md2);
*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -