事件对象

事件对象

在触发DOM上的某个事件时,会产生一个事件对象event。这个对象中包含着所有与事件有关的信息。包括导致事件的元素,事件的类型以及其他与特定事件相关的信息。

例如鼠标操作导致的事件对象中,会包含鼠标的位置信息。
键盘操作导致的事件对象中,会包含与按下的键有关的信息。
IE中事件对象event是全局变量window.event可以随时拿到
其它浏览器必须在参数中传递才能获取事件对象event
其它浏览器中默认第一个参数传递的是事件,如果你显示的传递了别的参数,这个事件你将无法获得,所以要兼容每个浏览器,方法内首先要判断这个event参数(有时候是e参数),如果没有则是IE的判断
简单的方法是 event = event||window.event

var btn = document.getElementById("myBtn");
btn.onclick = function (event) {
    alert(event.type);   //"click"
};
btn.addEventListener("click", function (event) {
    alert(event.type);   //"click"
},false);
var eventUtil={
            addHandler:function(element,type,handler){
               if(element.addEventListener){
                 element.addEventListener(type,handler,false);
               }else if(element.attachEvent){
                 element.attachEvent('on'+type,handler);
               }else{
                 element['on'+type]=handler;
               }
            },
            removeHandler:function(element,type,handler){
               if(element.removeEventListener){
                 element.removeEventListener(type,handler,false);
               }else if(element.detachEvent){
                 element.detachEvent('on'+type,handler);
               }else{
                 element['on'+type]=null;
               }
            },
          getEvent:function(event){
            return event?event:window.event;
          },
          getType:function(event){
            return event.type;
          },
          getTarget:function(event){
            return event.target || event.srcElement;
          },
          preventDefault:function(event){
            if(event.preventDefault){
              event.preventDefault();
            }else{
              event.returnValue=false;
            }
          },
         stopPropagation:function(event){
           if(event.stopPropagation){
             event.stopPropagation();
           }else{
             event.cancelBubble=true;
           }
         }
  };
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值