问答详情
源自:2-4 IE事件处理程序及跨浏览器解决

单addHandler那段可以起作用,加了remove就不行了,提示说remove那句 Uncaught SyntaxError: Unexpected identifier

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;

                //element['on'+type等于element."on"+type,但element."on"+type语法是错误的!

            }

        }

        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]=handler;

            }

        }

    }


提问者:weixin_慕勒4259824 2016-06-07 15:57

个回答

  • Hew_520
    2016-06-07 17:26:44

       element['on'+type]='null'

  • Victor_zhang
    2016-06-07 16:54:57

    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]=handler;//这句换成element['on'+type]=null;
                }
            }


  • capriciousfish
    2016-06-07 16:45:21

    最后一句应该是等于null吧