以下在IE9,IE9(文档模式8),360极速模式,火狐下测试
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8"/>
</head>
<body>
<span id='span'>haha</span>
<script>
(function(){
var span = document.getElementById('span');
function test(e){
//IE9:[object HTMLSpanElement]
//360极速:[object HTMLSpanElement]
//IE9(ie8文档模型):SCRIPT5007: 无法获取属性“srcElement”的值: 对象为 null 或未定义
//firfox:undefined
alert(e.srcElement);
//IE9:[object HTMLSpanElement]
//360极速:[object HTMLSpanElement]
//IE9(ie8文档模型):SCRIPT5007: 无法获取属性“srcElement”的值: 对象为 null 或未定义
//firfox:[object HTMLSpanElement]
alert(e.target);//IE9:[object HTMLSpanElement]
}
span.οnclick=test;
})();
</script>
</body>
</html>
1.window.event只有在事件发生过程中有效.如下:最后的test()方法是无法获取到window.event对象的.
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8"/>
</head>
<body>
<span id='span'>haha</span>
<script>
debugger;
var span = document.getElementById('span');
function test(e){
//IE9:[object HTMLSpanElement]
//360极速:[object HTMLSpanElement]
//IE9(ie8文档模型):SCRIPT5007: 无法获取属性“srcElement”的值: 对象为 null 或未定义
//firfox:undefined
// alert(e.srcElement);
alert(window.event.srcElement);
//IE9:[object HTMLSpanElement]
//360极速:[object HTMLSpanElement]
//IE9(ie8文档模型):SCRIPT5007: 无法获取属性“srcElement”的值: 对象为 null 或未定义
//firfox:[object HTMLSpanElement]
// alert(e.target);//IE9:[object HTMLSpanElement]
}
//span.οnclick=function(){test(1)};
test();
</script>
</body>
</html>
2.IE8对event.target是不认识的,而firfox则对event.srcElement感冒
3.项目中的运用
/**
* 按钮条事件统一处理
* @param event
*/
function tpAuditBusiRowBarEvent(event) {
var target = event.srcElement ? event.srcElement : event.target;
switch ($(target).attr('desc')) {
case "add":
addRow();
break;
case "del":
delRow();
break;
}
}
var target = event.srcElement ? event.srcElement : event.target;//兼容IE及firfox