为了账号安全,请及时绑定邮箱和手机立即绑定

这个绑定事件哪里出错了?为什么一直不能执行

这个绑定事件哪里出错了?为什么一直不能执行

Dummy 2017-09-08 10:42:44
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Document</title><style type="text/css">#goSomewhere{background:green;}#doSomewhere{background:blue;}#sayHi{background:red;}</style></head><body><ul id = "mylinks"><li id="goSomewhere">Go somewhere</li><li id="doSomewhere">Do something</li><li id="sayHi">Say hi</li></ul></body><script type="text/javascript">var item1=document.getElementById("goSomewhere");var item2=document.getElementById("doSomewhere");var item3=document.getElementById("sayHi");EventUtil.addHandler("click",function(event){location.href = "http://www.wrox.com";})EventUtil.addHandler(item2,"click",function(event){document.title="I changed the document's title";})EventUtil.addHandler(item3,"click",function(event){alert("hi");})</script></html>
查看完整描述

2 回答

已采纳
?
FSYu

TA贡献152条经验 获得超59个赞

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;
    },
    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.cancelBubbles = true;
        }
    },
    getRelatedTarget: function(event) {
        if (event.relatedTarger) {
            return event.relatedTarget;
        } else if (event.toElement) {
            return event.toElement;
        } else if (event.fromElement) {
            return event.fromElement;
        } else {
            return null;
        }

    }

}

这个你写了吗,如果没写,EventUtil不能直接用


查看完整回答
1 反对 回复 2017-09-08
?
cnyballk

TA贡献148条经验 获得超93个赞

那你能不能说一下你为什么要用EventUtil。你是要兼容浏览器监听事件吧,做之前最好先理解下还有学会看报错,不然肯定会出问题,先定义EventUtil

-----------

刚看到有人回答问题了,,啊哈哈我不献丑了 ,你用他那个吧 比我全多了

        addHandler: function(element, type, handler){
    //若浏览器支持addEventListener,则使用addEventListener来添加事件
            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;
            }
        }   
}
查看完整回答
1 反对 回复 2017-09-08
  • 2 回答
  • 0 关注
  • 1755 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信