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

addHandler:function(){}和function addHandler(){}是不是同一个意思?

这两个是不是同一个意思?定义了函数addHandler()


正在回答

3 回答

可能我没有写的全,有些人也没有看到过。视频——DOM事件探秘(2-4 IE事件处理程序及跨浏览器解决)

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>事件流</title>

</head>

<body>

    <form>

        <input type="button" value="按钮" id="btn" onclick="showMessage()">

        <input type="button" value="按钮2" id="btn2">

        <input type="button" value="按钮3" id="btn3">

    </form>

<script>

    function showMessage(){

alert("hello world!");

}

var btn2=document.getElementById("btn2");

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

/* btn2.onclick=function(){

alert("hello world!");

}

btn2.onclick=null;

//btn3.addEventListener("click",showMessage,false);

//btn3.removeEventListener("click",showMessage,false);

btn3.attachEvent("onclick",showMessage);

btn3.detachEvent("onclick",showMessage);  */

//跨浏览器事件处理程序

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.addEventListener){

element.removeEventListener(type,handler,false);

}

else if(element.attachEvent){

element.detachEvent('on'+type,handler);

}

else{

element['on'+type]=null;

}

}

}

eventutil.addHandler(btn3,"click",showMessage);

eventutil.removeHandler(btn3,"click",showMessage);

    </script>

</body>

</html>

以上加粗的部分代码,还有“删除句柄”上面的逗号“,”也有点不理解。


6 回复 有任何疑惑可以回复我~
#1

鲈先森

这是给eventutil这个对象定义addHandler属性,后面的function为属性对应的值。每个属性之间要用逗号隔开。var person={ name:peter, age:20, sayname:function (){alert(this.name);} }
2016-03-06 回复 有任何疑惑可以回复我~
#2

liulin60 回复 鲈先森

看了你的回答,一下子就明白啦~~~
2016-04-06 回复 有任何疑惑可以回复我~

这个addHandler:function(){}是什么?   

没见过这种形式,刚试了试,编译不通过,说是有“无意的)”。JavaScript函数两种形式

        1.function add(){}     函数定义

        2.var  add = function(){}   函书表达式

前面带冒号,不知道是我孤陋寡闻,还是楼主打错了,如果是前者,在此请教。

0 回复 有任何疑惑可以回复我~

个人理解是不一样。。我认为第一个是函数表达式,第二个是函数声明。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

addHandler:function(){}和function addHandler(){}是不是同一个意思?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信