您的位置:首页 > 其它

Firefox2的一个bug和脑子进了水的IE

2008-06-03 07:34 260 查看
先来说IE的这个小问题,对于一个输入框,如果指定了disabled="disabled",那么所有样式对它无效,不知道IE的开发团队是怎么想的,虽然用户禁用了文本框的可输入性,但并没有禁止此框的显示,所以让样式失效不知道是出于什么考虑。虽然如果样式对禁用的文本框起作用可能会产生“欺骗”,当disabled的文本框和其他文本框表现完全一样时,这是一种对用户的欺骗,明明看起来一样的东西,却产生不同的行为,但是这个东西应该是设计师们考虑的,设计师们自然会给两种文本框不同的样式,除非他也没想明白……但无论如何,IE都不应该越俎代庖,一棒子全打死了,这多不好?

下面来说Firefox的这个bug,这个就有趣的多:(废话不多说,直接看代码)

<!--本文最初发表于博客园-丁学,此BUG出现在FF2,FF3无此BUG,其他版本未测试-->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>可爱的FireFox</title>

<script type="text/javascript">

function display(r){

var s = document.getElementById("tbl").rows[1].cells[r];

s.style.display = s.style.display=="none"?"":"none";

}

</script>

</head>

<body>

<form method="post" action="" id="form1">

这个控制td1<input type="checkbox" value="1" checked="checked" onclick="display(0);" /><br />

这个控制td2<input type="checkbox" value="2" checked="checked" onclick="display(1);" /><br />

先把上面两个复选框取消选择,这样td1/td2会被display:none了,然后先选择前一个显示td1,再选择后一个显示td2,看header!<br />

bug仅在FF2下被发现,FF3没有此问题,其他版本未测试

</form>

<table id="tbl" border="1" style="border-collapse:collapse;width:300px;">

<tr>

<td colspan="2">header</td>

</tr>

<tr>

<td>td1</td>

<td>td2</td>

</tr>

</table>

</body>

</html>

<!--原文链接:/article/4683301.html-->

警告:上述代码仅为表现一种形式而产生,漏洞多多,标准不符,请勿直接用于生产环境。

最近发现很多人转载不加原文链接,那我只好自己加上了:丁学
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: