六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 27|回复: 0

addEventListener和removeEventListener绑定有名函数和无名函数的区别

[复制链接]

升级  10%

1

主题

1

主题

1

主题

童生

Rank: 1

积分
5
 楼主| 发表于 2013-1-29 08:59:38 | 显示全部楼层 |阅读模式
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html xmlns="http://www.w3.org/1999/xhtml">    <head>        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />        <meta http-equiv="Cache-Control" content="no-cache" />        <meta http-equiv="Pragma" content="no-cache" />        <meta http-equiv="Expires" content="0" />        <script type="text/javascript">            Obj = {                al: function(){                    alert("aaaa");                }            }            function add(){                            var btn = document.getElementById("aaa");                //btn.removeEventListener("click", Obj.al, false);                btn.addEventListener("click", Obj.al, false);            }                        function addAnmonys(){                var btn = document.getElementById("aaa");                btn.addEventListener("click", function(){                    alert("aaaa");                }, false);            }                        function remove(){                var btn = document.getElementById("aaa");                btn.removeEventListener("click", Obj.al, false);            }        </script>        <title>New Web Project</title>    </head>    <body>        <input type="button" value="aaaaaa" id="aaa" />        <br/><br/>        <input type="button" value="执行一次add" />        <br/><br/>        <input type="button" value="执行一次addAnmonys" />        <br/><br/>        <input type="button" value="执行一次remove" />    </body>  </html> 当使用addEventListener绑定一个有名的监听函数时,不会被重复绑定(多次绑定也只会绑定一次),也可以去绑定。
 
使用匿名函数时,监听函数会被多次重复绑定,也无法去绑定。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表