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

来源:互联网 发布:网络写手签约 编辑:程序博客网 时间:2024/05/22 02:26

有如下一段代码:

<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都没问题



0 0