1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8">
5 <title></title>
6 </head>
7 <script type="text/javascript">
8
9 window.onload=function()
10 {
11 /*
12 点击按钮以后弹出一个内容
13 使用 对象.事件=函数的形式绑定响应函数,只能同时为一个元素的
14 一个事件绑定一个响应函数,不能绑定多个,如果绑定了多个,
15 则后边会覆盖前边的
16 */
17 var button1=document.getElementById("button1");
18 button1.onclick=function(){
19 alert(1);
20 };
21 /*
22 var button2=document.getElementById("button1");
23 button2.onclick=function(){
24 alert("hi2");
25 };
26 */
27 /*
28 addEventListener()
29 通过这个方法也可以为元素绑定响应函数
30 参数
31 1.事件的字符串click
32 2.回调函数,当事件触发时该函数会被调用
33 3.是否在捕获阶段触发事件,需要一个布尔值,一般都传false
34 使用addEventListener()可以同时为一个元素的相同事件同时绑定多个响应函数,
35 这样当事件被触发时,响应函数将会按照函数的绑定顺序执行
36 这个方法不支持IE8及以下的浏览器
37
38
39 button1=document.getElementById("button1");
40 button1.addEventListener("click",function(){
41 alert("1");},false);
42 button1.addEventListener("click",function(){
43 alert("2");},false);
44
45
46 attachEvent()
47 在IE8中可以使用attachEvent()来绑定事件
48 参数
49 1.事件的字符串onclick
50 2.回调函数
51 这种方法也可以同时为一个事件绑定多个处理函数
52 不同的是它是后绑定先执行,执行顺序和addEventListener()相反
53 正常浏览器不支持
54 button1.attachEvent("onclick",function(){
55 alert("hi3");
56
57 */
58 bind(button1,"click",function(){
59 alert("hh");});
60
61 };
62
63 //定义一个函数,用来为指定元素绑定响应函数
64 /*
65 参数
66 obj 要绑定事件的对象
67 eventStr 事件的字符串
68 callback 回调函数
69 addEventListener()中的this,是绑定事件的对象
70 attachEvent()中的this.是window
71 需要统一两个方法的this
72 */
73
74 function bind(obj,eventStr,callback){
75 if(obj.addEventListener){
76 obj.addEventListener(eventStr,callback,false);
77 }else{
78 /*
79 this是由调用方式决定
80 callback.call(obj);
81 */
82 obj.attachEvent("on"+eventStr,function(){
83 callback.call(obj);//浏览器调用匿名函数 匿名函数调用callback,可以去指定this
84 });
85 }
86 }
87
88 </script>
89 <style type="text/css">
90 </style>
91 <body>
92 <button id="button1">button</button>
93 </body>
94 </html>