javascript event.srcElement 兼容问题
event=event?event:window.eventvarn=event.srcElement.id?event.srcElement.id:event.targ...
event = event? event: window.event
var n = event.srcElement.id? event.srcElement.id:event.target.id;
第二句话firefox报错 event.srcElement未定义,怎么解决? IE没问题 展开
var n = event.srcElement.id? event.srcElement.id:event.target.id;
第二句话firefox报错 event.srcElement未定义,怎么解决? IE没问题 展开
展开全部
event.srcElement存在兼容问题。srcElement 是兼容非FireFox浏览器的时候使用的。
如果想做兼容处理,可以用使用event.target 。是用来兼容fireFox浏览器的。
例子:
<style>
ul { overflow:hidden; }
li { float:left; width:100px; height:100px; margin:10px; background:#ccc; list-style:none; }
</style>
<script>
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';
}
};
};
</script>
</head>
<body>
<ul id="ul1">
<li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li>
</ul>
</body>
展开全部
因为ff下本身不支持srcElement而是支持target,你这里这么用也是为了兼容浏览器,但是
event.srcElement.id
这么写会从event.srcElement里找id属性,这样是默认event.srcElement存在的,而火狐是不存在,当然就报错了.
var obj=event.srcElement ? event.srcElement : event.target;
再调用obj.id就行了.
event.srcElement.id
这么写会从event.srcElement里找id属性,这样是默认event.srcElement存在的,而火狐是不存在,当然就报错了.
var obj=event.srcElement ? event.srcElement : event.target;
再调用obj.id就行了.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var obj = event.srcElement ? event.srcElement : event.target;
var n = obj.id
var n = obj.id
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询