01.var addEvent = function( obj, type, fn ) {
02. if (obj.addEventListener)
03. obj.addEventListener( type, fn, false );
04. else if (obj.attachEvent) {
05. obj["e"+type+fn] = fn;
06. obj.attachEvent( "on"+type, function() {
07. obj["e"+type+fn]();
08. } );
09. }
10.};
另一个实现01.var addEvent = (function () {
02. if (document.addEventListener) {
03. return function (el, type, fn) {
04. el.addEventListener(type, fn, false);
05. };
06. } else {
07. return function (el, type, fn) {
08. el.attachEvent('on' + type, function () {
09. return fn.call(el, window.event);
10. });
11. }
12. }
13.})();
移除事件1.var removeEvent = function(obj, type, fn) {
2. if (obj.removeEventListener)
3. obj.removeEventListener( type, fn, false );
4. else if (obj.detachEvent) {
5. obj.detachEvent( "on"+type, obj["e"+type+fn] );
6. obj["e"+type+fn] = null;
7. }
8.}
加载事件与脚本01.var loadEvent = function(func) {
02. var oldonload = window.onload;
03. if (typeof window.onload != 'function') {
04. window.onload = func;
05. }else {
06. window.onload = function() {
07. oldonload();
08. func();
09. }
10. }
11.}
阻止事件01.var cancelEvent = function(event) {
02. event = event||window.event
03. if (event.preventDefault) {
04. event.preventDefault( );
05. event.stopPropagation( );
06. } else {
07. event.returnValue = false;
08. event.cancelBubble = true;
09. }
10.}
取得事件源对象相当于Prototype.js框架的Event.element(e)
1.var getTarget = function(event){
2. event = event || window.event;
3. var obj = event.srcElement ? event.srcElement : event.target;
4. return obj
5.}