zoukankan      html  css  js  c++  java
  • js原生事件

    js原生事件封装

    // 事件处理对象
      
    var EventUtil = {   
     // 添加事件监听 
     add: function(element, type, callback){  
      if(element.addEventListener){
       element.addEventListener(type, callback, false);
      } else if(element.attachEvent){
       element.attachEvent('on' + type, callback);
      } else {
       element['on' + type] = callback;
      }
     },
      
     // 移除事件监听
     remove: function(element, type, callback){   
      if(element.removeEventListener){
       element.removeEventListener(type, callback, false);
      } else if(element.detachEvent){
       element.detachEvent('on' + type, callback);
      } else {
       element['on' + type] = null;
      }
     },
      
     // 跨浏览器获取 event 对象
     getEvent: function(event){
      return event ? event : window.event;
     },
      
     // 跨浏览器获取 target 属性
     getTarget: function(event){   
      return event.target || event.srcElement;
     },
      
     // 阻止事件的默认行为
     preventDefault: function(event){   
      if(event.preventDefault){
       event.preventDefault();
      } else {
       event.returnValue = false;
      }
     },
      
     // 阻止事件流或使用 cancelBubble
     stopPropagation: function(){    
      if(event.stopPropagation){
       event.stopPropagation();
      } else {
       event.cancelBubble = true;
      }
     }
      
    };
    转载请注明出处
    水平有限,错误在所难免,抛砖引玉,意在交流学习
  • 相关阅读:
    bzoj 3924
    bzoj 1095
    luogu 4886
    bzoj 2152
    CF960G
    bzoj 3561
    bzoj 4176
    bzoj 4407
    bzoj 3309
    luogu 4608
  • 原文地址:https://www.cnblogs.com/wenhandi/p/7453030.html
Copyright © 2011-2022 走看看