有思俱乐部学习园地

捕获当前事件作用的对象


target与srcElement的兼容

功能:target 事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素、文档或窗口。

因为IE下,event对象有srcElement属性,但是没有target属性;Firefox下,event对象有target属性,但是没有srcElement属性,所以当浏览器不支持srcElement的时候,给浏览器的全局HTMLElement设置target事件,让页面上所有的元素都有srcElement这个事件.
事例:

使用UForm框架前
html:
<ul id="ul1">
    <li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li>
</ul>
css:
ul { overflow:hidden; }
li { float:left; width:100px; height:100px; margin:10px; background:#ccc; list-style:none; }
js:
 window.onload=function (){
        var oUl=document.getElementById('ul1');
        oUl.onclick=function (ev){
            var oEvent=ev || event;
            var oSrc=oEvent.srcElement || oEvent.target;
            if (oSrc.tagName == 'LI')
            {
                oSrc.style.background='red';
            }
        };
    };
使用UForm框架
html:
<ul id="ul1">
    <li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li>
</ul>
css:
ul { overflow:hidden; }
li { float:left; width:100px; height:100px; margin:10px; background:#ccc; list-style:none; }
js:
$("#ul1")[0].onclick=function (){
    if (event.target.tagName == 'LI'){
       event.target.style.background='red';
    }
};
注:this.event.target.id
this.event.target是指"提交"按钮;
this.event.target.id:返回"提交"按钮的id

this.event.target.id

返回结果

工作人员

 
作者:廖泽愈
信息录入:廖泽愈