问答详情
源自:3-1 DOM中的事件对象

showMes(event)这个event做参数什么意思?我试了下不要event做参数正常运行。


       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;

               }

          },

        };

        function showMes(a) {

          alert(a.value);

        }

        var btn3 = document.getElementById('btn3');

        eventUtil.addHandler(btn3,'click',showMes);

括号里不要event做参数程序也正常啊,求解释。

event好像也是一个本来就有的属性吧。


提问者:风风无 2016-09-04 22:08

个回答

  • 慕少7532173
    2016-11-08 11:42:51
    已采纳

    傳入event是為了兼容ie,其实不一定是非要传入event,传入e或者ev都可以,看个人习惯。为了兼容,会有以下写法 function abc(ev){ ev = ev || event; }

  • tlojy
    2016-10-10 11:36:15

    这里的event是一个对象,具体来说是你添加的事件对象MouseEvent, MouseEvent有属性(比如:type,target),有方法(比如:stopPropagation())。至于不传参也正常运行,应该是默认就会把该事件对象绑定到handler(这里是showMes这个方法)上。

  • 慕斯3035540
    2016-09-04 23:31:07

    event不是事件参数吗   用到函数是要进行传参。。。。。