JavaScript事件监听完整实例
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
<head>
4
<title>JavaScript事件监听完整实例(含注释)</title>
5
<meta name="generator" content="editplus" />
6
<meta name="Keywords" content="AddEventHandler,addEventListener,attachEvent,appendChild,getElementsByTagNamem,createElement,createTextNode,IE 与FF兼容性,JavaScript事件,JavaScript监听">
7
<script type="text/javascript">
8
var oEventUtil = new Object();
9
oEventUtil.AddEventHandler = function(oTarget,sEventType,fnHandler)
10
{
11
//IE和FF的兼容性处理
12
13
//如果是FF
14
if(oTarget.addEventListener){
15
oTarget.addEventListener(sEventType,fnHandler,false);
16
}
17
//如果是IE
18
else if(oTarget.attachEvent){
19
oTarget.attachEvent('on'+sEventType,fnHandler);
20
} else{
21
oTarget['on'+sEventType] = fnHandler;
22
}
23
};
24
25
//定义oT事件函数
26
var oT = function()
27
{
28
var oEvent = arguments[0];
29
var oTarget = oEvent.target || oEvent.srcElement;
30
alert(oTarget.tagName+'\n'+oTarget.innerHTML+'\n'+oEvent.type);
31
}
32
33
//页面加载时制造36个p,每个p里面显示的文字是Line + i
34
window.onload = function(){
35
for(var i = 0;i<36;i++)
36
{
37
var oP = document.createElement('p');
38
var oText = document.createTextNode('Line'+i);
39
oP.appendChild(oText);
40
//在文档的第一个div里面添加这些p
41
document.getElementsByTagName('div')[0].appendChild(oP);
42
}
43
44
//找到所有的p,并添加click的事件监听
45
var oPList = document.getElementsByTagName('p');
46
for(var i = 0;i<oPList.length;i++)
47
{
48
oEventUtil.AddEventHandler(oPList[i],'click',oT);
49
}
50
}
51
</script>
52
53
54
<style type="text/css">
55
*
56
{
57
margin:0px;
58
padding:0px;
59
}
60
div
61
{
62
margin:10px auto;
63
width:690px;
64
border:solid 1px #000;
65
min-height:600px;
66
padding:20px;
67
}
68
69
div p
70
{
71
padding:4px;
72
margin-left:4px;
73
margin-top:4px;
74
border:solid 1px blue;
75
width:100px;
76
float:left;
77
}
78
pre{
79
margin:20px 0 0 0;
80
}
81
a
82
{
83
text-indent:4em;
84
}
85
</style>
86
</head>
87
<body >
88
89
<div>
90
</div>
91
</body>
92
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">2
<html xmlns="http://www.w3.org/1999/xhtml">3
<head>4
<title>JavaScript事件监听完整实例(含注释)</title>5
<meta name="generator" content="editplus" />6
<meta name="Keywords" content="AddEventHandler,addEventListener,attachEvent,appendChild,getElementsByTagNamem,createElement,createTextNode,IE 与FF兼容性,JavaScript事件,JavaScript监听">7
<script type="text/javascript">8
var oEventUtil = new Object();9
oEventUtil.AddEventHandler = function(oTarget,sEventType,fnHandler)10
{11
//IE和FF的兼容性处理12
13
//如果是FF14
if(oTarget.addEventListener){15
oTarget.addEventListener(sEventType,fnHandler,false);16
}17
//如果是IE18
else if(oTarget.attachEvent){19
oTarget.attachEvent('on'+sEventType,fnHandler);20
} else{21
oTarget['on'+sEventType] = fnHandler;22
}23
};24
25
//定义oT事件函数26
var oT = function()27
{28
var oEvent = arguments[0];29
var oTarget = oEvent.target || oEvent.srcElement;30
alert(oTarget.tagName+'\n'+oTarget.innerHTML+'\n'+oEvent.type);31
}32
33
//页面加载时制造36个p,每个p里面显示的文字是Line + i34
window.onload = function(){35
for(var i = 0;i<36;i++)36
{37
var oP = document.createElement('p');38
var oText = document.createTextNode('Line'+i);39
oP.appendChild(oText);40
//在文档的第一个div里面添加这些p41
document.getElementsByTagName('div')[0].appendChild(oP);42
}43
44
//找到所有的p,并添加click的事件监听45
var oPList = document.getElementsByTagName('p');46
for(var i = 0;i<oPList.length;i++)47
{48
oEventUtil.AddEventHandler(oPList[i],'click',oT);49
}50
}51
</script>52
53
54
<style type="text/css">55
*56
{57
margin:0px;58
padding:0px;59
}60
div61
{62
margin:10px auto;63
width:690px;64
border:solid 1px #000;65
min-height:600px;66
padding:20px;67
}68
69
div p70
{71
padding:4px;72
margin-left:4px;73
margin-top:4px;74
border:solid 1px blue;75
width:100px;76
float:left;77
}78
pre{79
margin:20px 0 0 0;80
}81
a82
{83
text-indent:4em;84
}85
</style>86
</head>87
<body >88

89
<div>90
</div>91
</body>92
</html>
可以歇歇了!!



浙公网安备 33010602011771号