您的位置:首页 > 其它

IE11下event.srcElement获取不到对应属性的解决方法

2014-06-09 11:20 971 查看
有如下一段代码:

<table id = "tabTable" width="98%" border="0" align="center" cellpadding="0" cellspacing="0" class="list_table">
<tr>
<td>
<div id="tabArea" style="border:0px" overflow:scroll>
<ul>
<li>
<a id="start" style="cursor:hand;" href="#space" onclick="loadPage(event);" link="<%=request.getContextPath()%>/ticketworklog/worklog_ticketOperationLog.action?timeZoneId=<s:property value='timeZoneId'/>&refreshIframe=true"><s:text name="sdm.log.tabname.ticketoperation" /></a>
</li>

<li>
<a style="cursor:hand;" href="#space" onclick="loadPage(event);" link="<%=request.getAttribute("address")%>/excelScript/importHistoryRecord.jsp?refreshIframe=true"><s:text name="sdm.log.tabname.excel"/></a>
</li>

<li>
<a style="cursor:hand;" href="#space" onclick="loadPage(event);" link="<%=request.getAttribute("address")%>/emailScript/interfaceEmailList.jsp?refreshIframe=true"><s:text name="sdm.log.tabname.crapproval"/></a>
</li>
</ul>
<div id="space" style="padding:0;"></div>
</div>
</td>
</tr>
</table>

现在我在loadPage(event)中根据传来的link值,决定tab页签的展示对象:

function loadPage(event){
var sUrl = (event.srcElement==null)?$("#start").attr("link"):event.srcElement.link;
iframePage.attr("src",sUrl);
}


这段代码在IE8中运行无碍,但是IE11和Chrome中,event.srcElement.link这个值变成了undefined

好像是IE11不支持这种写法。这时候解决方法也很简单:

function loadPage(event){
var sUrl = (event.srcElement==null)?$("#start").attr("link"):event.srcElement.getAttribute("link");
iframePage.attr("src",sUrl);
}
event.srcElement.getAttribute("link")   直接获取属性值的方法改为 getAttribute()

就这样就OK了,经测试,IE8、IE9、IE11、Chrome都没问题



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: