<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< title > JavaScript事件监听完整实例(含注释) </ title >
< meta name ="generator" content ="editplus" />
< meta name ="Keywords" content ="AddEventHandler,addEventListener,attachEvent,appendChild,getElementsByTagNamem,createElement,createTextNode,IE与FF兼容性,JavaScript事件,JavaScript监听" >
< script type ="text/javascript" >
var oEventUtil = new Object();
oEventUtil.AddEventHandler = function (oTarget,sEventType,fnHandler)
{
// IE和FF的兼容性处理
// 如果是FF
if (oTarget.addEventListener){
oTarget.addEventListener(sEventType,fnHandler, false );
}
// 如果是IE
else if (oTarget.attachEvent){
oTarget.attachEvent( ' on ' + sEventType,fnHandler);
} else {
oTarget[ ' on ' + sEventType] = fnHandler;
}
};
// 定义oT事件函数
var oT = function ()
{
var oEvent = arguments[ 0 ];
var oTarget = oEvent.target || oEvent.srcElement;
alert(oTarget.tagName + ' \n ' + oTarget.innerHTML + ' \n ' + oEvent.type);
}
// 页面加载时制造36个p,每个p里面显示的文字是Line + i
window.onload = function (){
for ( var i = 0 ;i < 36 ;i ++ )
{
var oP = document.createElement( ' p ' );
var oText = document.createTextNode( ' Line ' + i);
oP.appendChild(oText);
// 在文档的第一个div里面添加这些p
document.getElementsByTagName( ' div ' )[ 0 ].appendChild(oP);
}
// 找到所有的p,并添加click的事件监听
var oPList = document.getElementsByTagName( ' p ' );
for ( var i = 0 ;i < oPList.length;i ++ )
{
oEventUtil.AddEventHandler(oPList[i], ' click ' ,oT);
}
}
</ script >
< style type ="text/css" >
*
{
margin : 0px ;
padding : 0px ;
}
div
{
margin : 10px auto ;
width : 690px ;
border : solid 1px #000 ;
min-height : 600px ;
padding : 20px ;
}
div p
{
padding : 4px ;
margin-left : 4px ;
margin-top : 4px ;
border : solid 1px blue ;
width : 100px ;
float : left ;
}
pre {
margin : 20px 0 0 0 ;
}
a
{
text-indent : 4em ;
}
</ style >
</ head >
< body >
< pre >
代码来源网络。
JutinYoung稍作整理并注释,更多相关文章请访问:
</ pre >
< a href ="http://justinyoung.cnblogs.com" target ="_blank" > http://justinyoung.cnblogs.com </ a >
< div >
</ div >
</ body >
</ html >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< title > JavaScript事件监听完整实例(含注释) </ title >
< meta name ="generator" content ="editplus" />
< meta name ="Keywords" content ="AddEventHandler,addEventListener,attachEvent,appendChild,getElementsByTagNamem,createElement,createTextNode,IE与FF兼容性,JavaScript事件,JavaScript监听" >
< script type ="text/javascript" >
var oEventUtil = new Object();
oEventUtil.AddEventHandler = function (oTarget,sEventType,fnHandler)
{
// IE和FF的兼容性处理
// 如果是FF
if (oTarget.addEventListener){
oTarget.addEventListener(sEventType,fnHandler, false );
}
// 如果是IE
else if (oTarget.attachEvent){
oTarget.attachEvent( ' on ' + sEventType,fnHandler);
} else {
oTarget[ ' on ' + sEventType] = fnHandler;
}
};
// 定义oT事件函数
var oT = function ()
{
var oEvent = arguments[ 0 ];
var oTarget = oEvent.target || oEvent.srcElement;
alert(oTarget.tagName + ' \n ' + oTarget.innerHTML + ' \n ' + oEvent.type);
}
// 页面加载时制造36个p,每个p里面显示的文字是Line + i
window.onload = function (){
for ( var i = 0 ;i < 36 ;i ++ )
{
var oP = document.createElement( ' p ' );
var oText = document.createTextNode( ' Line ' + i);
oP.appendChild(oText);
// 在文档的第一个div里面添加这些p
document.getElementsByTagName( ' div ' )[ 0 ].appendChild(oP);
}
// 找到所有的p,并添加click的事件监听
var oPList = document.getElementsByTagName( ' p ' );
for ( var i = 0 ;i < oPList.length;i ++ )
{
oEventUtil.AddEventHandler(oPList[i], ' click ' ,oT);
}
}
</ script >
< style type ="text/css" >
*
{
margin : 0px ;
padding : 0px ;
}
div
{
margin : 10px auto ;
width : 690px ;
border : solid 1px #000 ;
min-height : 600px ;
padding : 20px ;
}
div p
{
padding : 4px ;
margin-left : 4px ;
margin-top : 4px ;
border : solid 1px blue ;
width : 100px ;
float : left ;
}
pre {
margin : 20px 0 0 0 ;
}
a
{
text-indent : 4em ;
}
</ style >
</ head >
< body >
< pre >
代码来源网络。
JutinYoung稍作整理并注释,更多相关文章请访问:
</ pre >
< a href ="http://justinyoung.cnblogs.com" target ="_blank" > http://justinyoung.cnblogs.com </ a >
< div >
</ div >
</ body >
</ html >