欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

IE Firefox 一些组件的特殊处理

程序员文章站 2024-01-21 15:46:22
...

1、html alt

在IE下控件的alt属性使用赋值后,当光标称到上面时,就会显示,但FF下不行,可以借助alt,如:

IE:<a href="javascript:abort();"><img src='<c:url value="/images/logout.jpg"/>' border="0" alt="退出登录" style=" cursor:pointer"/></a>

FF:<a href="javascript:abort();" title="退出登录"><img src='<c:url value="/images/logout.jpg"/>' border="0" style=" cursor:pointer"/></a>

故要兼容IE、FF的话,就用FF这种写法,使用title属性,不要用alt

 

2、span innertext

IE中的获取文本方法innerText在firefox中不支持

firefox改成了contentText方法,并且在Firefox中文本中间的空白自符被无情的替换没了

 

解决办法:用Javascript重新定义了innerText方法,使得在Firefox中也可以使用innerText方法,并且此方法解决了firefox中空白字符的问题

 

Javascript 写道
<script type="text/javascript">

function isIE() {
if (window.navigator.userAgent.toString().toLowerCase().indexOf("msie") >= 1)
return true;
else
return false;
}

if (!isIE()) {
//firefox innerText define
HTMLElement.prototype.__defineGetter__("innerText",
function () {
var anyString = "";
var childS = this.childNodes;
for (var i = 0; i < childS.length; i++) {
if (childS[i].nodeType == 1)
anyString += childS[i].tagName == "BR" ? '\n' : childS[i].innerText;
else if (childS[i].nodeType == 3)
anyString += childS[i].nodeValue;
}
return anyString;
}
);
HTMLElement.prototype.__defineSetter__("innerText",
function (sText) {
this.textContent = sText;
}
);
}

</script>