绑定事件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. } |