源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

window.addeventjs事件驱动函数集合addEvent等

  • 时间:2020-12-03 04:58 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:window.addeventjs事件驱动函数集合addEvent等
// written by Dean Edwards, 2005 // with input from Tino Zijdel, Matthias Miller, Diego Perini // http://dean.edwards.name/weblog/2005/10/add-event/ function addEvent(element, type, handler) {   if (element.addEventListener) {     element.addEventListener(type, handler, false);   } else {     // assign each event handler a unique ID     if (!handler.$$guid) handler.$$guid = addEvent.guid++;     // create a hash table of event types for the element     if (!element.events) element.events = {};     // create a hash table of event handlers for each element/event pair     var handlers = element.events[type];     if (!handlers) {       handlers = element.events[type] = {};       // store the existing event handler (if there is one)       if (element["on" + type]) {         handlers[0] = element["on" + type];       }     }     // store the event handler in the hash table     handlers[handler.$$guid] = handler;     // assign a global event handler to do all the work     element["on" + type] = handleEvent;   } }; // a counter used to create unique IDs addEvent.guid = 1; function removeEvent(element, type, handler) {   if (element.removeEventListener) {     element.removeEventListener(type, handler, false);   } else {     // delete the event handler from the hash table     if (element.events && element.events[type]) {       delete element.events[type][handler.$$guid];     }   } }; function handleEvent(event) {   var returnValue = true;   // grab the event object (IE uses a global event object)   event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);   // get a reference to the hash table of event handlers   var handlers = this.events[event.type];   // execute each event handler   for (var i in handlers) {     this.$$handleEvent = handlers[i];     if (this.$$handleEvent(event) === false) {       returnValue = false;     }   }   return returnValue; }; function fixEvent(event) {   // add W3C standard event methods   event.preventDefault = fixEvent.preventDefault;   event.stopPropagation = fixEvent.stopPropagation;   return event; }; fixEvent.preventDefault = function() {   this.returnValue = false; }; fixEvent.stopPropagation = function() {   this.cancelBubble = true; };
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部