this

•事件中的this。除了可以使用event.srcElement在事件响应函数中,this表示发生事件的控件。只有在事件响应函数才能使用this获得发生事件的控件,在事件响应函数调用的函数中不能使用,如果要使用则要将this传递给函数或者使用event.srcElement。(*)this和event.srcElement的语义是不一样的,this就是表示当前监听事件的这个对象,event.srcElement是引发事件的对象:事件冒泡。

  要点:分清事件响应函数事件响应函数的调用函数

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
 2 
 3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 4 <html xmlns="http://www.w3.org/1999/xhtml" >
 5 <head>
 6     <title></title>
 7     <script type="text/javascript">
 8         function btn3() {
 9             alert(event.srcElement.value);
10         }
11         //btn事件《响应函数》的《调用函数》
12         function btn4() {
13             alert(this.value);
14         }
15 
16         function initBtn5() {
17             var btn = document.getElementById("btn5");
18             //事件响应函数
19             btn.onclick = btn4;
20         }   
21     </script>
22 </head>
23 <body onload="initBtn5()">
24   
25    //通过srcElement获得引发事件的对象,//获取了"click1"
26    <input type="button" value="click1" onclick="alert(event.srcElement.value)" /><br />
27    <!-- 事件响应函数-->----达到同样的目的,
28    <input type="button" value="click2" onclick="alert(this.value)" />//获取了"click2"
29    
30    <input type="button" value="click3" onclick="btn3()" /> //输出"click3"
31    <input type="button" value="click4" onclick="btn4()" /> //输出undefine,这里是onclick调用btn4()
32 
33 
34    <input id="btn5" type="button" value="click5" /> //输出"click5"
35    
36    
37 </body>
38 </html>

 

posted @ 2013-03-24 16:15  Big.Eagle  阅读(98)  评论(0)    收藏  举报